def test_calculate_winning_lines_3(self): board = Board(dimensions=(3,3), winning_length=3) self.assertEqual( board.calculate_winning_lines(), [ # 3 columns [(0,0,), (0,1), (0,2)], [(1,0,), (1,1), (1,2)], [(2,0,), (2,1), (2,2)], # diagonal [(0,0,), (1,1), (2,2)], # 3 rows [(0,0,), (1,0), (2,0)], [(0,1,), (1,1), (2,1)], [(0,2,), (1,2), (2,2)], # other diagonal [(0,2,), (1,1), (2,0)], ] )
def test_calculate_winning_lines_2(self): board = Board(dimensions=(3,3), winning_length=2) self.assertEqual( board.calculate_winning_lines(), [ # vertical pairs (top) [(0, 0), (0, 1)], [(1, 0), (1, 1)], [(2, 0), (2, 1)], # vertical pairs (bottom) [(0, 1), (0, 2)], [(1, 1), (1, 2)], [(2, 1), (2, 2)], # diagonal pairs (top) [(0, 0), (1, 1)], [(1, 0), (2, 1)], # diagonal pairs (bottom) [(0, 1), (1, 2)], [(1, 1), (2, 2)], # horizontal pairs (top) [(0, 0), (1, 0)], [(1, 0), (2, 0)], # horizontal pairs (middle) [(0, 1), (1, 1)], [(1, 1), (2, 1)], # horizontal pairs (bottom) [(0, 2), (1, 2)], [(1, 2), (2, 2)], # diagonal pairs (middle) [(0, 1), (1, 0)], [(1, 1), (2, 0)], # diagonal pairs (bottom) [(0, 2), (1, 1)], [(1, 2), (2, 1)], ] )
def test_create_winning_lines(self): board = Board(dimensions=(10,10), winning_length=2) self.assertEqual( [wl.cells for wl in board.winning_lines], board.calculate_winning_lines() )