Fix incorrect coalesce() output when one input range is wholly
[dcpomatic.git] / test / dcpomatic_time_test.cc
index e4383b5396ab8fde9f9955ce3a86be58823f81ff..5d23f247808135eeadfc94ad17451ffb7b42db45 100644 (file)
@@ -302,6 +302,18 @@ BOOST_AUTO_TEST_CASE (dcpomatic_time_period_coalesce_test5)
        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<DCPTimePeriod> 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)
 {