#include #include #include #include #include #include #include #include #include #include #include class AutoDeclinationTest : public UnitTest { public: virtual bool run_tests(); private: bool autodeclination_check(); }; bool AutoDeclinationTest::autodeclination_check() { ut_assert("declination differs more than 0.1 degrees", get_mag_declination(47.0, 8.0) - 1.6f < 0.1f); // Test world endpoints ut_assert("declination differs more than 0.1 degrees", get_mag_declination(-90.0, 180.0) - 47.0f < 0.1f); ut_assert("declination differs more than 0.1 degrees", get_mag_declination(-90.0, -180.0) - 47.0f < 0.1f); ut_assert("declination differs more than 0.1 degrees", get_mag_declination(90.0, -180.0) - 3.0f < 0.1f); ut_assert("declination differs more than 0.1 degrees", get_mag_declination(90.0, 180.0) - 3.0f < 0.1f); return true; } bool AutoDeclinationTest::run_tests() { ut_run_test(autodeclination_check); return (_tests_failed == 0); } ut_declare_test_c(test_autodeclination, AutoDeclinationTest)