Prechádzať zdrojové kódy

Add tests for circle intersects quad.
Failing Tests: CircleTest.NotIntersecting

Sam Jaffe 6 rokov pred
rodič
commit
ff19b87e00
1 zmenil súbory, kde vykonal 36 pridanie a 0 odobranie
  1. 36 0
      math/test/common_test.cxx

+ 36 - 0
math/test/common_test.cxx

@@ -200,3 +200,39 @@ TEST(CircleTest, OutsideLineDoesntIntersect) {
   line const ln{{{1, 1}}, {{0, 1.5}}};
   EXPECT_FALSE(math::intersects(c1, ln));
 }
+
+TEST(CircleTest, OverlappingQuad) {
+  circle const c1{{{0, 0}}, 1};
+  square const sq{{{1, 1}}, 0.5};
+  EXPECT_TRUE(math::intersects(c1, sq));
+}
+
+TEST(CircleTest, IntersectsAtEdge) {
+  circle const c1{{{0, 0}}, 1};
+  square const sq{{{-1, 1}}, 2};
+  EXPECT_TRUE(math::intersects(c1, sq));
+}
+
+TEST(CircleTest, IntersectsAtCorner) {
+  circle const c1{{{0, 0}}, 1};
+  square const sq{{{0, 1}}, 1};
+  EXPECT_TRUE(math::intersects(c1, sq));
+}
+
+TEST(CircleTest, ContainingQuad) {
+  circle const c1{{{0, 0}}, 1};
+  square const sq{{{0, 0}}, 0.5};
+  EXPECT_TRUE(math::intersects(c1, sq));
+}
+
+TEST(CircleTest, ContainedInQuad) {
+  circle const c1{{{0, 0}}, 0.5};
+  square const sq{{{-1, -1}}, 2};
+  EXPECT_TRUE(math::intersects(c1, sq));
+}
+
+TEST(CircleTest, NonIntersecting) {
+  circle const c1{{{0, 0}}, 1};
+  square const sq{{{1, 1}}, 1};
+  EXPECT_FALSE(math::intersects(c1, sq));
+}