+BOOST_AUTO_TEST_CASE (seconds_to_approximate_hms_test)
+{
+ BOOST_CHECK_EQUAL (seconds_to_approximate_hms (1), "1s");
+ BOOST_CHECK_EQUAL (seconds_to_approximate_hms (2), "2s");
+ BOOST_CHECK_EQUAL (seconds_to_approximate_hms (60), "1m");
+ BOOST_CHECK_EQUAL (seconds_to_approximate_hms (1.5 * 60), "1m 30s");
+ BOOST_CHECK_EQUAL (seconds_to_approximate_hms (2 * 60), "2m");
+ BOOST_CHECK_EQUAL (seconds_to_approximate_hms (17 * 60 + 20), "17m");
+ BOOST_CHECK_EQUAL (seconds_to_approximate_hms (1 * 3600), "1h");
+ BOOST_CHECK_EQUAL (seconds_to_approximate_hms (3600 + 40 * 60), "1h 40m");
+ BOOST_CHECK_EQUAL (seconds_to_approximate_hms (2 * 3600), "2h");
+ BOOST_CHECK_EQUAL (seconds_to_approximate_hms (2 * 3600 - 1), "2h");
+ BOOST_CHECK_EQUAL (seconds_to_approximate_hms (13 * 3600 + 40 * 60), "14h");
+}
+
+BOOST_AUTO_TEST_CASE (time_to_hmsf_test)
+{
+ BOOST_CHECK_EQUAL (time_to_hmsf(DCPTime::from_frames(12, 24), 24), "0:00:00.12");
+ BOOST_CHECK_EQUAL (time_to_hmsf(DCPTime::from_frames(24, 24), 24), "0:00:01.0");
+ BOOST_CHECK_EQUAL (time_to_hmsf(DCPTime::from_frames(32, 24), 24), "0:00:01.8");
+ BOOST_CHECK_EQUAL (time_to_hmsf(DCPTime::from_seconds(92), 24), "0:01:32.0");
+ BOOST_CHECK_EQUAL (time_to_hmsf(DCPTime::from_seconds(2 * 60 * 60 + 92), 24), "2:01:32.0");
+}