![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
df
Fork of APP1 by
Diff: TestUtility.cpp
- Revision:
- 6:3facf0329142
- Child:
- 9:12519f9dd3cd
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TestUtility.cpp Sun Jan 15 02:04:23 2017 +0000 @@ -0,0 +1,44 @@ +#include "TestUtility.hpp" +#include "Utility.hpp" + +#include <cassert> + +namespace utility +{ + void run_all_tests() + { + test_is_almost_equal(); + test_degree_from_radian(); + test_wrap_angle(); + } + + void test_is_almost_equal() + { + assert(is_almost_equal(0, 0, 0.01)); + assert(is_almost_equal(0.50, 0.51, 0.02)); + assert(!is_almost_equal(0.50, 0.52, 0.01)); + assert(!is_almost_equal(0, 0.50, 0.1)); + } + + void test_degree_from_radian() + { + const double tolerance = 0.05; + assert(is_almost_equal(0, degree_from_radian(0.0), tolerance)); + assert(is_almost_equal(90, degree_from_radian(PI/2.0), tolerance)); + assert(is_almost_equal(180, degree_from_radian(PI), tolerance)); + assert(is_almost_equal(270, degree_from_radian(3.0*PI/2.0), tolerance)); + assert(is_almost_equal(0, degree_from_radian(2.0*PI), tolerance) || is_almost_equal(360, degree_from_radian(2.0*PI), tolerance)); + assert(is_almost_equal(270, degree_from_radian(-PI/2.0), tolerance)); + } + + void test_wrap_angle() + { + const double tolerance = 0.05; + assert(is_almost_equal(0, wrap_angle(0.0), tolerance)); + assert(is_almost_equal(90, wrap_angle(90), tolerance)); + assert(is_almost_equal(180, wrap_angle(180), tolerance)); + assert(is_almost_equal(0, wrap_angle(360), tolerance) || is_almost_equal(360, wrap_angle(360), tolerance)); + assert(is_almost_equal(90, wrap_angle(360+90), tolerance)); + assert(is_almost_equal(270, wrap_angle(360-90), tolerance)); + } +}; \ No newline at end of file