From b489968dcc1416a530b9f5289b47962e39ec4158 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Wed, 21 Mar 2012 21:36:59 +0100 Subject: utils/rectangle: added function to intersect two rectangles --- test/utils/rectangle.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'test/utils') diff --git a/test/utils/rectangle.cpp b/test/utils/rectangle.cpp index f2fe93ea..0cfbece2 100644 --- a/test/utils/rectangle.cpp +++ b/test/utils/rectangle.cpp @@ -35,6 +35,8 @@ namespace usdx class RectangleTest : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(RectangleTest); CPPUNIT_TEST(testInit); + CPPUNIT_TEST(testIntersectInner); + CPPUNIT_TEST(testIntersectOuter); CPPUNIT_TEST_SUITE_END(); private: static log4cpp::Category& log; @@ -57,6 +59,30 @@ namespace usdx CPPUNIT_ASSERT(rect.get_width() == 200); CPPUNIT_ASSERT(rect.get_height() == 250); } + + void testIntersectInner() + { + Rectangle outer(100, 150, 200, 250); + Rectangle inner(120, 170, 180, 200); + Rectangle intersect = outer.intersect(inner); + + CPPUNIT_ASSERT(intersect.get_point1().get_x() == 120); + CPPUNIT_ASSERT(intersect.get_point1().get_y() == 170); + CPPUNIT_ASSERT(intersect.get_point2().get_x() == 180); + CPPUNIT_ASSERT(intersect.get_point2().get_y() == 200); + } + + void testIntersectOuter() + { + Rectangle outer(120, 170, 180, 200); + Rectangle inner(100, 150, 200, 250); + Rectangle intersect = outer.intersect(inner); + + CPPUNIT_ASSERT(intersect.get_point1().get_x() == 120); + CPPUNIT_ASSERT(intersect.get_point1().get_y() == 170); + CPPUNIT_ASSERT(intersect.get_point2().get_x() == 180); + CPPUNIT_ASSERT(intersect.get_point2().get_y() == 200); + } }; log4cpp::Category& RectangleTest::log = -- cgit v1.2.3