X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fdcpomatic_time_test.cc;h=5d23f247808135eeadfc94ad17451ffb7b42db45;hb=6a3c03c5eed3cab8fdfdb04fcbaf6cabe8c715e9;hp=1637738ad7c7fb66c623f8c043f41e7e709100cc;hpb=0bb3c873e28552293e7132c93cdeeef65845596d;p=dcpomatic.git diff --git a/test/dcpomatic_time_test.cc b/test/dcpomatic_time_test.cc index 1637738ad..5d23f2478 100644 --- a/test/dcpomatic_time_test.cc +++ b/test/dcpomatic_time_test.cc @@ -19,7 +19,7 @@ */ /** @file test/dcpomatic_time_test.cc - * @brief Test Time and TimePeriod classes. + * @brief Test dcpomatic::Time and dcpomatic::TimePeriod classes. * @ingroup selfcontained */ @@ -31,6 +31,7 @@ using std::list; using std::cout; +using namespace dcpomatic; BOOST_AUTO_TEST_CASE (dcpomatic_time_test) { @@ -243,7 +244,7 @@ BOOST_AUTO_TEST_CASE (dcpomatic_time_period_coalesce_test1) p.push_back (A); p.push_back (B); list q = coalesce (p); - BOOST_REQUIRE_EQUAL (q.size(), 2); + BOOST_REQUIRE_EQUAL (q.size(), 2U); BOOST_CHECK (q.front() == DCPTimePeriod(DCPTime(14), DCPTime(29))); BOOST_CHECK (q.back () == DCPTimePeriod(DCPTime(45), DCPTime(91))); } @@ -256,7 +257,7 @@ BOOST_AUTO_TEST_CASE (dcpomatic_time_period_coalesce_test2) p.push_back (A); p.push_back (B); list q = coalesce (p); - BOOST_REQUIRE_EQUAL (q.size(), 1); + BOOST_REQUIRE_EQUAL (q.size(), 1U); BOOST_CHECK (q.front() == DCPTimePeriod(DCPTime(14), DCPTime(91))); } @@ -268,7 +269,7 @@ BOOST_AUTO_TEST_CASE (dcpomatic_time_period_coalesce_test3) p.push_back (A); p.push_back (B); list q = coalesce (p); - BOOST_REQUIRE_EQUAL (q.size(), 1); + BOOST_REQUIRE_EQUAL (q.size(), 1U); BOOST_CHECK (q.front() == DCPTimePeriod(DCPTime(14), DCPTime(91))); } @@ -282,7 +283,7 @@ BOOST_AUTO_TEST_CASE (dcpomatic_time_period_coalesce_test4) p.push_back (B); p.push_back (C); list q = coalesce (p); - BOOST_REQUIRE_EQUAL (q.size(), 1); + BOOST_REQUIRE_EQUAL (q.size(), 1U); BOOST_CHECK (q.front() == DCPTimePeriod(DCPTime(14), DCPTime(106))); } @@ -296,11 +297,23 @@ BOOST_AUTO_TEST_CASE (dcpomatic_time_period_coalesce_test5) p.push_back (B); p.push_back (C); list q = coalesce (p); - BOOST_REQUIRE_EQUAL (q.size(), 2); + BOOST_REQUIRE_EQUAL (q.size(), 2U); BOOST_CHECK (q.front() == DCPTimePeriod(DCPTime(14), DCPTime(91))); BOOST_CHECK (q.back() == DCPTimePeriod(DCPTime(100), DCPTime(106))); } +BOOST_AUTO_TEST_CASE (test_coalesce_with_overlapping_periods) +{ + DCPTimePeriod A (DCPTime(0), DCPTime(10)); + DCPTimePeriod B (DCPTime(2), DCPTime(8)); + list p; + p.push_back (A); + p.push_back (B); + auto q = coalesce(p); + BOOST_REQUIRE_EQUAL (q.size(), 1U); + BOOST_CHECK (q.front() == DCPTimePeriod(DCPTime(0), DCPTime(10))); +} + /* Straightforward test of DCPTime::ceil */ BOOST_AUTO_TEST_CASE (dcpomatic_time_ceil_test) {