#define BOOST_TEST_MODULE f_to_c_test_suite #include #include #include "FtoC.h" using namespace std; using namespace boost::test_tools; BOOST_AUTO_TEST_SUITE(f_to_c) void DoALoopTest() { double dc = 5.0/9.0; double df = 1.0; double cent; double f = 32.0; double tmp; for(cent = 0; cent <= 100; cent += dc) { tmp = CtoF(static_cast(cent)); BOOST_TEST(f == tmp); f += df; } f = 32.0; for(cent = 0; cent > -100; cent -=dc) { tmp = CtoF(static_cast(cent)); BOOST_TEST(f == tmp, tolerance(0.001) ); f -= df; } return; } // test some default values BOOST_AUTO_TEST_CASE(basic_tests) { BOOST_TEST(0 == FtoC(32)); BOOST_TEST(100 == FtoC(212)); BOOST_TEST(32 == CtoF(0)); BOOST_TEST(212 == CtoF(100)); } // check all values for F between -100 and 100c. BOOST_AUTO_TEST_CASE(Loop_Through_C_test) { DoALoopTest(); } BOOST_AUTO_TEST_SUITE_END()