def test_cycles(self): history = [C] * 10 self.assertEqual(detect_cycle(history), (C,)) self.assertEqual(detect_cycle(history, min_size=2), (C, C)) history = [C, D] * 10 self.assertEqual(detect_cycle(history, min_size=2), (C, D)) self.assertEqual(detect_cycle(history, min_size=3), (C, D, C, D)) history = [C, D, C] * 10 self.assertTrue(detect_cycle(history), (C, D, C)) history = [C, C, D] * 10 self.assertTrue(detect_cycle(history), (C, C, D))
def test_noncycles(self): history = [C, D, C, C, D, C, C, C, D] self.assertEqual(detect_cycle(history), None) history = [C, C, D, C, C, D, C, C, C, D, C, C, C, C, D, C, C, C, C, C] self.assertEqual(detect_cycle(history), None)