10#include "gtest/gtest.h"
21classify(
const bool all_nodes_active,
22 const bool all_nodes_inactive,
23 const Real active_fraction,
25 const bool mark_intercepted)
36TEST(ClassifyPartialElementTest, FullyInsideOrOutside)
38 EXPECT_EQ(classify(
true,
false, 1.0, 0.5,
true), INSIDE);
39 EXPECT_EQ(classify(
true,
false, 1.0, 0.0,
false), INSIDE);
40 EXPECT_EQ(classify(
true,
false, 1.0, 1.0,
false), INSIDE);
42 EXPECT_EQ(classify(
false,
true, 0.0, 0.5,
true), OUTSIDE);
43 EXPECT_EQ(classify(
false,
true, 0.0, 1.0,
false), OUTSIDE);
44 EXPECT_EQ(classify(
false,
true, 0.0, 0.0,
false), OUTSIDE);
49TEST(ClassifyPartialElementTest, MarkIntercepted)
51 EXPECT_EQ(classify(
false,
false, 0.5, 0.0,
true), INTERCEPTED);
52 EXPECT_EQ(classify(
false,
false, 0.5, 1.0,
true), INTERCEPTED);
57TEST(ClassifyPartialElementTest, LambdaThreshold)
59 EXPECT_EQ(classify(
false,
false, 0.2, 0.5,
false), OUTSIDE);
60 EXPECT_EQ(classify(
false,
false, 0.8, 0.5,
false), INSIDE);
66TEST(ClassifyPartialElementTest, EnclosedSurfaceEndpoints)
68 EXPECT_EQ(classify(
true,
false, 0.5, 0.5,
false), INSIDE);
69 EXPECT_EQ(classify(
true,
false, 0.5, 0.3,
false), OUTSIDE);
70 EXPECT_EQ(classify(
true,
false, 0.5, 0.5,
true), INTERCEPTED);
75TEST(ClassifyPartialElementTest, IsInactive)
subdomain_id_type SubdomainID
TEST(ClassifyPartialElementTest, FullyInsideOrOutside)
bool isInactive(Real active_fraction, Real lambda)
Return whether a partial element is inactive, i.e.
SubdomainID classifyPartialElement(const ElementActivity &activity, const ClassificationSubdomains &subdomains, bool mark_intercepted, Real lambda)
Classify a (possibly partial) element into an inside/outside/intercepted subdomain.
The subdomain IDs a (possibly partial) element can be labeled with.
Measured activity state of a (possibly partial) element, used to classify it.