X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fshuffler_test.cc;h=d1c5b85338f53272ead9d19e4388a9cea0dd12dc;hb=59c4edb69ba926d3790198cd2b62dc601944a632;hp=a8b45930fd8123ed16f7da602a059b4cd7d73b6e;hpb=27fbe80bccafe744ca3f96129c9e582f39921891;p=dcpomatic.git diff --git a/test/shuffler_test.cc b/test/shuffler_test.cc index a8b45930f..d1c5b8533 100644 --- a/test/shuffler_test.cc +++ b/test/shuffler_test.cc @@ -4,9 +4,13 @@ #include using std::list; -using boost::shared_ptr; -using boost::weak_ptr; +using std::shared_ptr; +using std::weak_ptr; using boost::optional; +#if BOOST_VERSION >= 106100 +using namespace boost::placeholders; +#endif + static void push (Shuffler& s, int frame, Eyes eyes) @@ -42,10 +46,10 @@ BOOST_AUTO_TEST_CASE (shuffler_test1) s.Video.connect (boost::bind (&receive, _1, _2)); for (int i = 0; i < 10; ++i) { - push (s, i, EYES_LEFT); - push (s, i, EYES_RIGHT); - check (i, EYES_LEFT, __LINE__); - check (i, EYES_RIGHT, __LINE__); + push (s, i, Eyes::LEFT); + push (s, i, Eyes::RIGHT); + check (i, Eyes::LEFT, __LINE__); + check (i, Eyes::RIGHT, __LINE__); } } @@ -56,14 +60,14 @@ BOOST_AUTO_TEST_CASE (shuffler_test2) s.Video.connect (boost::bind (&receive, _1, _2)); for (int i = 0; i < 10; i += 2) { - push (s, i, EYES_LEFT); - push (s, i + 1, EYES_LEFT); - push (s, i, EYES_RIGHT); - push (s, i + 1, EYES_RIGHT); - check (i, EYES_LEFT, __LINE__); - check (i, EYES_RIGHT, __LINE__); - check (i + 1, EYES_LEFT, __LINE__); - check (i + 1, EYES_RIGHT, __LINE__); + push (s, i, Eyes::LEFT); + push (s, i + 1, Eyes::LEFT); + push (s, i, Eyes::RIGHT); + push (s, i + 1, Eyes::RIGHT); + check (i, Eyes::LEFT, __LINE__); + check (i, Eyes::RIGHT, __LINE__); + check (i + 1, Eyes::LEFT, __LINE__); + check (i + 1, Eyes::RIGHT, __LINE__); } } @@ -73,25 +77,25 @@ BOOST_AUTO_TEST_CASE (shuffler_test3) Shuffler s; s.Video.connect (boost::bind (&receive, _1, _2)); - push (s, 0, EYES_LEFT); - check (0, EYES_LEFT, __LINE__); - push (s, 0, EYES_RIGHT); - check (0, EYES_RIGHT, __LINE__); - push (s, 1, EYES_LEFT); - check (1, EYES_LEFT, __LINE__); - push (s, 1, EYES_RIGHT); - check (1, EYES_RIGHT, __LINE__); - push (s, 2, EYES_RIGHT); - push (s, 3, EYES_LEFT); - push (s, 3, EYES_RIGHT); - push (s, 4, EYES_LEFT); - push (s, 4, EYES_RIGHT); + push (s, 0, Eyes::LEFT); + check (0, Eyes::LEFT, __LINE__); + push (s, 0, Eyes::RIGHT); + check (0, Eyes::RIGHT, __LINE__); + push (s, 1, Eyes::LEFT); + check (1, Eyes::LEFT, __LINE__); + push (s, 1, Eyes::RIGHT); + check (1, Eyes::RIGHT, __LINE__); + push (s, 2, Eyes::RIGHT); + push (s, 3, Eyes::LEFT); + push (s, 3, Eyes::RIGHT); + push (s, 4, Eyes::LEFT); + push (s, 4, Eyes::RIGHT); s.flush (); - check (2, EYES_RIGHT, __LINE__); - check (3, EYES_LEFT, __LINE__); - check (3, EYES_RIGHT, __LINE__); - check (4, EYES_LEFT, __LINE__); - check (4, EYES_RIGHT, __LINE__); + check (2, Eyes::RIGHT, __LINE__); + check (3, Eyes::LEFT, __LINE__); + check (3, Eyes::RIGHT, __LINE__); + check (4, Eyes::LEFT, __LINE__); + check (4, Eyes::RIGHT, __LINE__); } /** One missing right eye image */ @@ -100,25 +104,25 @@ BOOST_AUTO_TEST_CASE (shuffler_test4) Shuffler s; s.Video.connect (boost::bind (&receive, _1, _2)); - push (s, 0, EYES_LEFT); - check (0, EYES_LEFT, __LINE__); - push (s, 0, EYES_RIGHT); - check (0, EYES_RIGHT, __LINE__); - push (s, 1, EYES_LEFT); - check (1, EYES_LEFT, __LINE__); - push (s, 1, EYES_RIGHT); - check (1, EYES_RIGHT, __LINE__); - push (s, 2, EYES_LEFT); - push (s, 3, EYES_LEFT); - push (s, 3, EYES_RIGHT); - push (s, 4, EYES_LEFT); - push (s, 4, EYES_RIGHT); + push (s, 0, Eyes::LEFT); + check (0, Eyes::LEFT, __LINE__); + push (s, 0, Eyes::RIGHT); + check (0, Eyes::RIGHT, __LINE__); + push (s, 1, Eyes::LEFT); + check (1, Eyes::LEFT, __LINE__); + push (s, 1, Eyes::RIGHT); + check (1, Eyes::RIGHT, __LINE__); + push (s, 2, Eyes::LEFT); + push (s, 3, Eyes::LEFT); + push (s, 3, Eyes::RIGHT); + push (s, 4, Eyes::LEFT); + push (s, 4, Eyes::RIGHT); s.flush (); - check (2, EYES_LEFT, __LINE__); - check (3, EYES_LEFT, __LINE__); - check (3, EYES_RIGHT, __LINE__); - check (4, EYES_LEFT, __LINE__); - check (4, EYES_RIGHT, __LINE__); + check (2, Eyes::LEFT, __LINE__); + check (3, Eyes::LEFT, __LINE__); + check (3, Eyes::RIGHT, __LINE__); + check (4, Eyes::LEFT, __LINE__); + check (4, Eyes::RIGHT, __LINE__); } /** Only one eye */ @@ -128,20 +132,20 @@ BOOST_AUTO_TEST_CASE (shuffler_test5) s.Video.connect (boost::bind (&receive, _1, _2)); /* One left should come out straight away */ - push (s, 0, EYES_LEFT); - check (0, EYES_LEFT, __LINE__); + push (s, 0, Eyes::LEFT); + check (0, Eyes::LEFT, __LINE__); /* More lefts should be kept in the shuffler in the hope that some rights arrive */ - for (int i = 0; i < 8; ++i) { - push (s, i + 1, EYES_LEFT); + for (int i = 0; i < s._max_size; ++i) { + push (s, i + 1, Eyes::LEFT); } BOOST_CHECK (pending_cv.empty ()); /* If enough lefts come the shuffler should conclude that there's no rights and start giving out the lefts. */ - push (s, 9, EYES_LEFT); - check (1, EYES_LEFT, __LINE__); + push (s, s._max_size + 1, Eyes::LEFT); + check (1, Eyes::LEFT, __LINE__); } /** One complete frame (L+R) missing. @@ -152,18 +156,18 @@ BOOST_AUTO_TEST_CASE (shuffler_test6) Shuffler s; s.Video.connect (boost::bind (&receive, _1, _2)); - push (s, 0, EYES_LEFT); - check (0, EYES_LEFT, __LINE__); - push (s, 0, EYES_RIGHT); - check (0, EYES_RIGHT, __LINE__); + push (s, 0, Eyes::LEFT); + check (0, Eyes::LEFT, __LINE__); + push (s, 0, Eyes::RIGHT); + check (0, Eyes::RIGHT, __LINE__); - push (s, 2, EYES_LEFT); - push (s, 2, EYES_RIGHT); - check (2, EYES_LEFT, __LINE__); - check (2, EYES_RIGHT, __LINE__); + push (s, 2, Eyes::LEFT); + push (s, 2, Eyes::RIGHT); + check (2, Eyes::LEFT, __LINE__); + check (2, Eyes::RIGHT, __LINE__); - push (s, 3, EYES_LEFT); - check (3, EYES_LEFT, __LINE__); - push (s, 3, EYES_RIGHT); - check (3, EYES_RIGHT, __LINE__); + push (s, 3, Eyes::LEFT); + check (3, Eyes::LEFT, __LINE__); + push (s, 3, Eyes::RIGHT); + check (3, Eyes::RIGHT, __LINE__); }