add constructor tests for all Time::Clock ids and variants
authorPhilipp Gesang <philipp.gesang@intra2net.com>
Fri, 5 Apr 2019 07:08:07 +0000 (09:08 +0200)
committerPhilipp Gesang <philipp.gesang@intra2net.com>
Fri, 5 Apr 2019 07:08:12 +0000 (09:08 +0200)
Go through the supported combinations of clock modes in the
constructor tests.

test/test_timefunc.cpp

index 96b8337..885bb67 100644 (file)
@@ -580,19 +580,61 @@ BOOST_AUTO_TEST_SUITE(Clock)
 
     BOOST_AUTO_TEST_CASE(ctor_type)
     {
-        I2n::clock::Time t (I2n::clock::type::real);
+        I2n::clock::Time t1 (I2n::clock::type::real);
+        I2n::clock::Time t2 (I2n::clock::type::mono);
+        I2n::clock::Time t3 (I2n::clock::type::boot);
+        I2n::clock::Time t4 (I2n::clock::type::cpu);
 
-        BOOST_CHECK_EQUAL(t.get_sec  (), 0);
-        BOOST_CHECK_EQUAL(t.get_nsec (), 0);
+        BOOST_CHECK_EQUAL(t1.get_sec  (), 0);
+        BOOST_CHECK_EQUAL(t1.get_nsec (), 0);
+
+        BOOST_CHECK_EQUAL(t2.get_sec  (), 0);
+        BOOST_CHECK_EQUAL(t2.get_nsec (), 0);
+
+        BOOST_CHECK_EQUAL(t3.get_sec  (), 0);
+        BOOST_CHECK_EQUAL(t3.get_nsec (), 0);
+
+        BOOST_CHECK_EQUAL(t4.get_sec  (), 0);
+        BOOST_CHECK_EQUAL(t4.get_nsec (), 0);
     }
 
     BOOST_AUTO_TEST_CASE(ctor_variant)
     {
-        I2n::clock::Time t (I2n::clock::type::cpu,
-                            I2n::clock::type::thread);
+        I2n::clock::Time tmc (I2n::clock::type::mono);
+        I2n::clock::Time tmr (I2n::clock::type::mono, I2n::clock::type::raw);
+        I2n::clock::Time tme (I2n::clock::type::mono, I2n::clock::type::exact);
 
-        BOOST_CHECK_EQUAL(t.get_sec  (), 0);
-        BOOST_CHECK_EQUAL(t.get_nsec (), 0);
+        I2n::clock::Time trc (I2n::clock::type::real);
+        I2n::clock::Time tre (I2n::clock::type::real, I2n::clock::type::exact);
+
+        I2n::clock::Time tb (I2n::clock::type::boot);
+
+        I2n::clock::Time tcp (I2n::clock::type::cpu);
+        I2n::clock::Time tct (I2n::clock::type::cpu, I2n::clock::type::thread);
+
+        BOOST_CHECK_EQUAL(tmc.get_sec  (), 0); /* MONO */
+        BOOST_CHECK_EQUAL(tmc.get_nsec (), 0);
+
+        BOOST_CHECK_EQUAL(tmr.get_sec  (), 0);
+        BOOST_CHECK_EQUAL(tmr.get_nsec (), 0);
+
+        BOOST_CHECK_EQUAL(tme.get_sec  (), 0);
+        BOOST_CHECK_EQUAL(tme.get_nsec (), 0);
+
+        BOOST_CHECK_EQUAL(trc.get_sec  (), 0); /* REAL */
+        BOOST_CHECK_EQUAL(trc.get_nsec (), 0);
+
+        BOOST_CHECK_EQUAL(tre.get_sec  (), 0);
+        BOOST_CHECK_EQUAL(tre.get_nsec (), 0);
+
+        BOOST_CHECK_EQUAL(tb.get_sec  (), 0); /* BOOT */
+        BOOST_CHECK_EQUAL(tb.get_nsec (), 0);
+
+        BOOST_CHECK_EQUAL(tcp.get_sec  (), 0); /* CPU */
+        BOOST_CHECK_EQUAL(tcp.get_nsec (), 0);
+
+        BOOST_CHECK_EQUAL(tct.get_sec  (), 0);
+        BOOST_CHECK_EQUAL(tct.get_nsec (), 0);
     }
 
     BOOST_AUTO_TEST_CASE(initializer_now)