df

Dependencies:   mbed

Fork of APP1 by Team APP

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