diff --git a/src/Math/Geometry/Rectangle.h b/src/Math/Geometry/Rectangle.h index fea8225cd..f8eac6511 100644 --- a/src/Math/Geometry/Rectangle.h +++ b/src/Math/Geometry/Rectangle.h @@ -105,6 +105,15 @@ template class Rectangle { Vector2 _topRight; }; +/** @debugoperator{Magnum::Math::Geometry::Rectangle} */ +template Corrade::Utility::Debug operator<<(Corrade::Utility::Debug debug, const Rectangle& value) { + debug << "Rectangle({"; + debug.setFlag(Corrade::Utility::Debug::SpaceAfterEachValue, false); + debug << value.left() << ", " << value.bottom() << "}, {" << value.right() << ", " << value.top() <<"})"; + debug.setFlag(Corrade::Utility::Debug::SpaceAfterEachValue, true); + return debug; +} + }}} #endif diff --git a/src/Math/Geometry/Test/RectangleTest.cpp b/src/Math/Geometry/Test/RectangleTest.cpp index 315acfed4..a09ca0cc7 100644 --- a/src/Math/Geometry/Test/RectangleTest.cpp +++ b/src/Math/Geometry/Test/RectangleTest.cpp @@ -15,6 +15,8 @@ #include "RectangleTest.h" +#include + #include "Rectangle.h" CORRADE_TEST_MAIN(Magnum::Math::Geometry::Test::RectangleTest) @@ -28,7 +30,8 @@ RectangleTest::RectangleTest() { addTests(&RectangleTest::access, &RectangleTest::compare, &RectangleTest::construct, - &RectangleTest::size); + &RectangleTest::size, + &RectangleTest::debug); } void RectangleTest::access() { @@ -56,8 +59,8 @@ void RectangleTest::compare() { } void RectangleTest::construct() { - CORRADE_VERIFY(Rectanglei() == Rectanglei({0, 0}, {0, 0})); - CORRADE_VERIFY(Rectanglei::fromSize({3, 5}, {23, 78}) == Rectanglei({3, 5}, {26, 83})); + CORRADE_COMPARE(Rectanglei(), Rectanglei({0, 0}, {0, 0})); + CORRADE_COMPARE(Rectanglei::fromSize({3, 5}, {23, 78}), Rectanglei({3, 5}, {26, 83})); } void RectangleTest::size() { @@ -68,4 +71,11 @@ void RectangleTest::size() { CORRADE_COMPARE(rect.height(), 7); } +void RectangleTest::debug() { + std::ostringstream o; + Corrade::Utility::Debug(&o) << Rectanglei({34, 23}, {47, 30}); + + CORRADE_COMPARE(o.str(), "Rectangle({34, 23}, {47, 30})\n"); +} + }}}} diff --git a/src/Math/Geometry/Test/RectangleTest.h b/src/Math/Geometry/Test/RectangleTest.h index 2fbfd4e3b..87f552c03 100644 --- a/src/Math/Geometry/Test/RectangleTest.h +++ b/src/Math/Geometry/Test/RectangleTest.h @@ -27,6 +27,8 @@ class RectangleTest: public Corrade::TestSuite::Tester { void compare(); void construct(); void size(); + + void debug(); }; }}}}