Document auto audio mapping.
[dcpomatic.git] / test / shuffler_test.cc
index 879f2e079ade4145b35730b1e4f1820014c54df4..440d014cf2d89721f5f475d5729dca44346817d7 100644 (file)
@@ -120,3 +120,26 @@ BOOST_AUTO_TEST_CASE (shuffler_test4)
        check (4, EYES_LEFT, __LINE__);
        check (4, EYES_RIGHT, __LINE__);
 }
+
+/** Only one eye */
+BOOST_AUTO_TEST_CASE (shuffler_test5)
+{
+       Shuffler s;
+       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__);
+
+       /* 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);
+       }
+       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__);
+}