|
|
@@ -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));
|
|
|
+}
|