def test_repeated_schedule_generation(self):
     """Test repeated single round-robin schedule generation."""
     scheduler = SingleRoundRobinScheduler(8)
     random.seed(17)
     if PY2:
         expected_schedule = [
             [(7, 5), (3, 6), (2, 1), (4, 8)],
             [(7, 3), (6, 5), (1, 8), (4, 2)],
             [(5, 3), (8, 6), (1, 4), (2, 7)],
             [(1, 6), (5, 2), (7, 8), (3, 4)],
             [(8, 5), (2, 3), (6, 4), (7, 1)],
             [(4, 7), (8, 3), (6, 2), (5, 1)],
             [(6, 7), (2, 8), (3, 1), (4, 5)]
         ]
     elif PY3:
         expected_schedule = [
             [(8, 7), (1, 6), (3, 5), (4, 2)],
             [(2, 6), (4, 3), (7, 1), (5, 8)],
             [(7, 3), (4, 1), (6, 8), (2, 5)],
             [(7, 4), (3, 1), (5, 6), (8, 2)],
             [(7, 2), (3, 6), (1, 5), (8, 4)],
             [(6, 4), (8, 3), (2, 1), (5, 7)],
             [(2, 3), (6, 7), (5, 4), (1, 8)]
         ]
     schedule = scheduler.generate_schedule()
     self.assertListEqual(expected_schedule, schedule,
                          ('Wrong schedule created for repeated '
                           'single round-robin competition'))
 def test_schedule_generation(self):
     """Test single round-robin schedule generation."""
     scheduler = SingleRoundRobinScheduler(8)
     # Failed attempt
     random.seed(17)
     self.assertRaises(ScheduleGenerationFailed,
                       scheduler.generate_schedule,
                       try_once=True)
     # Successful attempt
     random.seed(4)
     if PY2:
         expected_schedule = [[(2, 5), (8, 6), (7, 1), (3, 4)],
                              [(5, 8), (3, 7), (1, 2), (4, 6)],
                              [(5, 4), (6, 3), (2, 7), (8, 1)],
                              [(7, 8), (6, 5), (2, 4), (3, 1)],
                              [(6, 2), (3, 8), (7, 5), (1, 4)],
                              [(7, 6), (2, 3), (4, 8), (1, 5)],
                              [(5, 3), (1, 6), (4, 7), (8, 2)]]
     elif PY3:
         expected_schedule = [[(5, 7), (8, 4), (3, 6), (1, 2)],
                              [(4, 2), (6, 8), (1, 5), (3, 7)],
                              [(8, 1), (6, 4), (3, 5), (7, 2)],
                              [(4, 1), (2, 3), (5, 8), (6, 7)],
                              [(8, 3), (2, 6), (4, 5), (7, 1)],
                              [(8, 2), (1, 3), (5, 6), (4, 7)],
                              [(1, 6), (3, 4), (7, 8), (2, 5)]]
     schedule = scheduler.generate_schedule(try_once=True)
     self.assertListEqual(expected_schedule, schedule,
                          ('Wrong schedule created for '
                           'single round-robin competition'))
 def test_schedule_generation(self):
     """Test single round-robin schedule generation."""
     scheduler = SingleRoundRobinScheduler(8)
     # Failed attempt
     random.seed(17)
     self.assertRaises(ScheduleGenerationFailed,
                       scheduler.generate_schedule, try_once=True)
     # Successful attempt
     random.seed(4)
     if PY2:
         expected_schedule = [
             [(2, 5), (8, 6), (7, 1), (3, 4)],
             [(5, 8), (3, 7), (1, 2), (4, 6)],
             [(5, 4), (6, 3), (2, 7), (8, 1)],
             [(7, 8), (6, 5), (2, 4), (3, 1)],
             [(6, 2), (3, 8), (7, 5), (1, 4)],
             [(7, 6), (2, 3), (4, 8), (1, 5)],
             [(5, 3), (1, 6), (4, 7), (8, 2)]
         ]
     elif PY3:
         expected_schedule = [
             [(5, 7), (8, 4), (3, 6), (1, 2)],
             [(4, 2), (6, 8), (1, 5), (3, 7)],
             [(8, 1), (6, 4), (3, 5), (7, 2)],
             [(4, 1), (2, 3), (5, 8), (6, 7)],
             [(8, 3), (2, 6), (4, 5), (7, 1)],
             [(8, 2), (1, 3), (5, 6), (4, 7)],
             [(1, 6), (3, 4), (7, 8), (2, 5)]
         ]
     schedule = scheduler.generate_schedule(try_once=True)
     self.assertListEqual(expected_schedule, schedule,
                          ('Wrong schedule created for '
                           'single round-robin competition'))
 def test_repeated_schedule_generation(self):
     """Test repeated single round-robin schedule generation."""
     scheduler = SingleRoundRobinScheduler(8)
     random.seed(17)
     if PY2:
         expected_schedule = [[(7, 5), (3, 6), (2, 1), (4, 8)],
                              [(7, 3), (6, 5), (1, 8), (4, 2)],
                              [(5, 3), (8, 6), (1, 4), (2, 7)],
                              [(1, 6), (5, 2), (7, 8), (3, 4)],
                              [(8, 5), (2, 3), (6, 4), (7, 1)],
                              [(4, 7), (8, 3), (6, 2), (5, 1)],
                              [(6, 7), (2, 8), (3, 1), (4, 5)]]
     elif PY3:
         expected_schedule = [[(8, 7), (1, 6), (3, 5), (4, 2)],
                              [(2, 6), (4, 3), (7, 1), (5, 8)],
                              [(7, 3), (4, 1), (6, 8), (2, 5)],
                              [(7, 4), (3, 1), (5, 6), (8, 2)],
                              [(7, 2), (3, 6), (1, 5), (8, 4)],
                              [(6, 4), (8, 3), (2, 1), (5, 7)],
                              [(2, 3), (6, 7), (5, 4), (1, 8)]]
     schedule = scheduler.generate_schedule()
     self.assertListEqual(expected_schedule, schedule,
                          ('Wrong schedule created for repeated '
                           'single round-robin competition'))