summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2022-05-16 00:36:43 +0200
committerCarl Hetherington <cth@carlh.net>2022-05-16 21:39:01 +0200
commit78189e9211907aee322f647f333ced87c5140247 (patch)
tree73e1b54e6898e3ea9cf9b91b38ad42d039420ee3 /test
parent194ec286939aba7b0cf24762d03ce6ebfe0b9a9f (diff)
Give subtract() lists for both parameters.
Diffstat (limited to 'test')
-rw-r--r--test/dcpomatic_time_test.cc79
1 files changed, 71 insertions, 8 deletions
diff --git a/test/dcpomatic_time_test.cc b/test/dcpomatic_time_test.cc
index 00e28b91a..21739d185 100644
--- a/test/dcpomatic_time_test.cc
+++ b/test/dcpomatic_time_test.cc
@@ -99,7 +99,7 @@ BOOST_AUTO_TEST_CASE (dcpomatic_time_period_subtract_test1)
DCPTimePeriod(DCPTime(52), DCPTime(91)),
DCPTimePeriod(DCPTime(94), DCPTime(106))
};
- auto r = subtract (A, B);
+ auto r = subtract ({A}, B);
auto i = r.begin ();
BOOST_REQUIRE (i != r.end ());
BOOST_CHECK (i->from == DCPTime (42));
@@ -121,7 +121,7 @@ BOOST_AUTO_TEST_CASE (dcpomatic_time_period_subtract_test2)
DCPTimePeriod(DCPTime(52), DCPTime(91)),
DCPTimePeriod(DCPTime(94), DCPTime(106))
};
- auto r = subtract (A, B);
+ auto r = subtract ({A}, B);
auto i = r.begin ();
BOOST_REQUIRE (i != r.end ());
BOOST_CHECK (i->from == DCPTime (0));
@@ -147,7 +147,7 @@ BOOST_AUTO_TEST_CASE (dcpomatic_time_period_subtract_test3)
DCPTimePeriod(DCPTime(52), DCPTime(91)),
DCPTimePeriod(DCPTime(94), DCPTime(99))
};
- auto r = subtract (A, B);
+ auto r = subtract ({A}, B);
auto i = r.begin ();
BOOST_REQUIRE (i != r.end ());
BOOST_CHECK (i->from == DCPTime (0));
@@ -173,7 +173,7 @@ BOOST_AUTO_TEST_CASE (dcpomatic_time_period_subtract_test4)
{
DCPTimePeriod A (DCPTime (0), DCPTime (106));
list<DCPTimePeriod> B;
- auto r = subtract (A, B);
+ auto r = subtract ({A}, B);
auto i = r.begin ();
BOOST_REQUIRE (i != r.end ());
BOOST_CHECK (i->from == DCPTime (0));
@@ -191,7 +191,7 @@ BOOST_AUTO_TEST_CASE (dcpomatic_time_period_subtract_test5)
DCPTimePeriod(DCPTime(42), DCPTime(91)),
DCPTimePeriod(DCPTime(94), DCPTime(99))
};
- auto r = subtract (A, B);
+ auto r = subtract ({A}, B);
auto i = r.begin ();
BOOST_REQUIRE (i != r.end ());
BOOST_CHECK (i->from == DCPTime (0));
@@ -217,7 +217,7 @@ BOOST_AUTO_TEST_CASE (dcpomatic_time_period_subtract_test6)
DCPTimePeriod(DCPTime(42), DCPTime(91)),
DCPTimePeriod(DCPTime(91), DCPTime(106))
};
- auto r = subtract (A, B);
+ auto r = subtract ({A}, B);
BOOST_CHECK (r.empty());
}
@@ -228,7 +228,7 @@ BOOST_AUTO_TEST_CASE (dcpomatic_time_period_subtract_test7)
list<DCPTimePeriod> B = {
DCPTimePeriod(DCPTime(34), DCPTime(162))
};
- auto r = subtract (A, B);
+ auto r = subtract ({A}, B);
auto i = r.begin ();
BOOST_REQUIRE (i != r.end ());
BOOST_CHECK (i->from == DCPTime (228));
@@ -245,7 +245,7 @@ BOOST_AUTO_TEST_CASE (dcpomatic_time_period_subtract_test8)
DCPTimePeriod(DCPTime(8000), DCPTime(20000)),
DCPTimePeriod(DCPTime(28000), DCPTime(32000))
};
- auto r = subtract (A, B);
+ auto r = subtract ({A}, B);
auto i = r.begin ();
BOOST_REQUIRE (i != r.end ());
BOOST_CHECK (*i == DCPTimePeriod(DCPTime(0), DCPTime(8000)));
@@ -257,6 +257,69 @@ BOOST_AUTO_TEST_CASE (dcpomatic_time_period_subtract_test8)
}
+BOOST_AUTO_TEST_CASE (dcpomatic_time_period_subtract_list_from_list_test1)
+{
+ list<DCPTimePeriod> A = {
+ DCPTimePeriod(DCPTime(0), DCPTime(2000)),
+ DCPTimePeriod(DCPTime(4000), DCPTime(6000))
+ };
+
+ list<DCPTimePeriod> B = {
+ DCPTimePeriod(DCPTime(1000), DCPTime(3000)),
+ DCPTimePeriod(DCPTime(5000), DCPTime(7000))
+ };
+
+ auto result = subtract(A, B);
+ list<DCPTimePeriod> reference = {
+ DCPTimePeriod(DCPTime(0), DCPTime(1000)),
+ DCPTimePeriod(DCPTime(4000), DCPTime(5000))
+ };
+
+ BOOST_CHECK (result == reference);
+}
+
+
+BOOST_AUTO_TEST_CASE (dcpomatic_time_period_subtract_list_from_list_test2)
+{
+ list<DCPTimePeriod> A = {
+ DCPTimePeriod(DCPTime(0), DCPTime(2000)),
+ DCPTimePeriod(DCPTime(4000), DCPTime(6000))
+ };
+
+ list<DCPTimePeriod> B = {
+ DCPTimePeriod(DCPTime(500), DCPTime(1500)),
+ DCPTimePeriod(DCPTime(4500), DCPTime(5500))
+ };
+
+ auto result = subtract(A, B);
+ list<DCPTimePeriod> reference = {
+ DCPTimePeriod(DCPTime(0), DCPTime(500)),
+ DCPTimePeriod(DCPTime(1500), DCPTime(2000)),
+ DCPTimePeriod(DCPTime(4000), DCPTime(4500)),
+ DCPTimePeriod(DCPTime(5500), DCPTime(6000)),
+ };
+
+ BOOST_CHECK (result == reference);
+}
+
+
+BOOST_AUTO_TEST_CASE (dcpomatic_time_period_subtract_list_from_list_test3)
+{
+ list<DCPTimePeriod> A = {
+ DCPTimePeriod(DCPTime(500), DCPTime(1500)),
+ DCPTimePeriod(DCPTime(4500), DCPTime(5500))
+ };
+
+ list<DCPTimePeriod> B = {
+ DCPTimePeriod(DCPTime(0), DCPTime(2000)),
+ DCPTimePeriod(DCPTime(4000), DCPTime(6000))
+ };
+
+ auto result = subtract(A, B);
+ BOOST_CHECK (result.empty());
+}
+
+
BOOST_AUTO_TEST_CASE (dcpomatic_time_period_coalesce_test1)
{
DCPTimePeriod A (DCPTime(14), DCPTime(29));