+ p.clear ();
+ p.push_back ("foobar");
+ BOOST_CHECK_THROW (md5_digest (p, shared_ptr<Job> ()), std::runtime_error);
+}
+
+/* Straightforward test of DCPTime::round_up */
+BOOST_AUTO_TEST_CASE (dcptime_round_up_test)
+{
+ BOOST_CHECK_EQUAL (DCPTime (0).round_up (DCPTime::HZ / 2), DCPTime (0));
+ BOOST_CHECK_EQUAL (DCPTime (1).round_up (DCPTime::HZ / 2), DCPTime (2));
+ BOOST_CHECK_EQUAL (DCPTime (2).round_up (DCPTime::HZ / 2), DCPTime (2));
+ BOOST_CHECK_EQUAL (DCPTime (3).round_up (DCPTime::HZ / 2), DCPTime (4));
+
+ BOOST_CHECK_EQUAL (DCPTime (0).round_up (DCPTime::HZ / 42), DCPTime (0));
+ BOOST_CHECK_EQUAL (DCPTime (1).round_up (DCPTime::HZ / 42), DCPTime (42));
+ BOOST_CHECK_EQUAL (DCPTime (42).round_up (DCPTime::HZ / 42), DCPTime (42));
+ BOOST_CHECK_EQUAL (DCPTime (43).round_up (DCPTime::HZ / 42), DCPTime (84));
+
+ /* Check that rounding up to non-integer frame rates works */
+ BOOST_CHECK_EQUAL (DCPTime (45312).round_up (29.976), DCPTime (48045));
+}
+
+
+BOOST_AUTO_TEST_CASE (divide_with_round_test)
+{
+ BOOST_CHECK_EQUAL (divide_with_round (0, 4), 0);
+ BOOST_CHECK_EQUAL (divide_with_round (1, 4), 0);
+ BOOST_CHECK_EQUAL (divide_with_round (2, 4), 1);
+ BOOST_CHECK_EQUAL (divide_with_round (3, 4), 1);
+ BOOST_CHECK_EQUAL (divide_with_round (4, 4), 1);
+ BOOST_CHECK_EQUAL (divide_with_round (5, 4), 1);
+ BOOST_CHECK_EQUAL (divide_with_round (6, 4), 2);
+
+ BOOST_CHECK_EQUAL (divide_with_round (1000, 500), 2);