#include #include #include #include #include #include "gtest/gtest.h" namespace mm { TEST(Domains, ContainsNested2D) { // test inclusion - exclusion BoxShape inner({1.5, 1.5}, {2.5, 2.5}); BallShape middle({2, 2}, 1); BoxShape outer({0, 0}, {4, 4}); auto u1 = outer - middle; auto u2 = u1 + inner; EXPECT_TRUE(u2.contains({1, 1})); EXPECT_FALSE(u2.contains({1.2, 2})); EXPECT_TRUE(u2.contains({2, 2})); } TEST(Domains, ContainsNested3D) { // test inclusion - exclusion BoxShape inner({1.5, 1.5, 1.5}, {2.5, 2.5, 2.5}); BallShape middle({2, 2, 2}, 1); BoxShape outer({0, 0, 0}, {4, 4, 4}); auto u1 = outer - middle; auto u2 = u1 + inner; EXPECT_TRUE(u2.contains({1, 1, 1})); EXPECT_FALSE(u2.contains({1.2, 2, 2})); EXPECT_TRUE(u2.contains({2, 2, 2})); } TEST(Domains, DISABLED_DomainShapeUsageExample) { /// [Domain shape usage example] BoxShape inner({1.5, 1.5, 1.5}, {2.5, 2.5, 2.5}); BallShape middle({2, 2, 2}, 1); BoxShape outer({0, 0, 0}, {4, 4, 4}); auto u = outer - middle + inner; std::cout << u << std::endl; /// [Domain shape usage example] } } // namespace mm