Browse Source

Math: debug output operator for Rectangle.

pull/7/head
Vladimír Vondruš 14 years ago
parent
commit
bc2f98266e
  1. 9
      src/Math/Geometry/Rectangle.h
  2. 16
      src/Math/Geometry/Test/RectangleTest.cpp
  3. 2
      src/Math/Geometry/Test/RectangleTest.h

9
src/Math/Geometry/Rectangle.h

@ -105,6 +105,15 @@ template<class T> class Rectangle {
Vector2<T> _topRight;
};
/** @debugoperator{Magnum::Math::Geometry::Rectangle} */
template<class T> Corrade::Utility::Debug operator<<(Corrade::Utility::Debug debug, const Rectangle<T>& 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

16
src/Math/Geometry/Test/RectangleTest.cpp

@ -15,6 +15,8 @@
#include "RectangleTest.h"
#include <sstream>
#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");
}
}}}}

2
src/Math/Geometry/Test/RectangleTest.h

@ -27,6 +27,8 @@ class RectangleTest: public Corrade::TestSuite::Tester {
void compare();
void construct();
void size();
void debug();
};
}}}}

Loading…
Cancel
Save