From 5f5c64faa7b0114f84f45e50211611333042c672 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Thu, 5 Apr 2018 16:31:18 +0100 Subject: Further adjustment of shuffler to cope with having sources for only one eye. --- test/shuffler_test.cc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'test') 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__); +} -- cgit v1.2.3