summaryrefslogtreecommitdiff
path: root/test/shuffler_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'test/shuffler_test.cc')
-rw-r--r--test/shuffler_test.cc23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/shuffler_test.cc b/test/shuffler_test.cc
index 879f2e079..440d014cf 100644
--- a/test/shuffler_test.cc
+++ b/test/shuffler_test.cc
@@ -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__);
+}