def test_wildcard(self): bitmap = autopy.bitmap.Bitmap.open("sample_images/board_with_wildcard.png") grid = get_current_grid(bitmap) self.assertEqual(grid[5][5], 'wildcard') # since the wildcard gem rotates, we have two images to test with bitmap = autopy.bitmap.Bitmap.open("sample_images/board_with_wildcard2.png") grid = get_current_grid(bitmap) self.assertEqual(grid[5][5], 'wildcard')
def test_all(self): """Although the other tests should be sufficient, we have an extra test of each jewel since our input is noisy. """ bitmap = autopy.bitmap.Bitmap.open("sample_images/board_dark_background.png") grid = get_current_grid(bitmap) self.assertEqual(grid[0][1], 'white') self.assertEqual(grid[1][7], 'white') self.assertEqual(grid[0][0], 'orange') self.assertEqual(grid[7][3], 'orange') self.assertEqual(grid[0][3], 'green') self.assertEqual(grid[0][7], 'green') self.assertEqual(grid[0][5], 'purple') self.assertEqual(grid[7][7], 'purple') self.assertEqual(grid[1][5], 'yellow') self.assertEqual(grid[5][3], 'yellow') self.assertEqual(grid[0][2], 'red') self.assertEqual(grid[6][7], 'red') self.assertEqual(grid[7][5], 'blue') self.assertEqual(grid[7][6], 'blue')
def test_board_shine(self): """Test a board that's having the diagonal shine scroll across it. """ bitmap = autopy.bitmap.Bitmap.open("sample_images/board_with_shine.png") grid = get_current_grid(bitmap) self.assertEqual(grid[7][4], 'white') self.assertEqual(grid[6][5], 'green') self.assertEqual(grid[5][6], 'blue') self.assertEqual(grid[4][7], 'purple')
def test_valid_moves(self): bitmap = autopy.bitmap.Bitmap.open("sample_images/board2.png") grid = get_current_grid(bitmap) scoring_moves = list(get_scoring_moves(grid)) expected_moves = [((6,2), (7,2)), ((6, 3), (7, 3))] # check we found all the expected moves for move in expected_moves: self.assertIn(move, scoring_moves) # check there are no other moves found self.assertEqual(len(scoring_moves), len(expected_moves))
def test_move_outcome(self): bitmap = autopy.bitmap.Bitmap.open("sample_images/board2.png") grid = get_current_grid(bitmap) final_grid = get_grid_after_move(grid, ((6, 2), (7, 2))) expected_final_grid = [ ['purple', 'green', 'green', 'yellow', 'white', 'blue', None, 'yellow'], ['white', 'blue', 'red', 'blue', 'purple', 'orange', None, 'white'], ['purple', 'purple', 'orange', 'yellow', 'white', 'blue', None, 'orange'], ['red', 'green', 'blue', 'purple', 'red', 'yellow', 'purple', 'blue'], ['blue', 'yellow', 'blue', 'yellow', 'orange', 'white', 'green', 'red'], ['orange', 'yellow', 'red', 'green', 'red', 'yellow', 'yellow', 'purple'], ['purple', 'green', 'white', 'blue', 'orange', 'orange', 'blue', 'purple'], ['blue', 'red', 'white', 'purple', 'yellow', 'orange', 'green', 'green']] self.assertEqual(expected_final_grid, final_grid)
def test_white(self): bitmap = autopy.bitmap.Bitmap.open("sample_images/board1.png") grid = get_current_grid(bitmap) self.assertEqual(grid[1][4], 'white')
def test_orange(self): bitmap = autopy.bitmap.Bitmap.open("sample_images/board1.png") grid = get_current_grid(bitmap) self.assertEqual(grid[0][3], 'orange')
def test_yellow(self): bitmap = autopy.bitmap.Bitmap.open("sample_images/board1.png") grid = get_current_grid(bitmap) self.assertEqual(grid[0][5], 'yellow')
def test_green_fire(self): bitmap = autopy.bitmap.Bitmap.open("sample_images/board_with_yellow_green_fire.png") grid = get_current_grid(bitmap) # todo: check it's special self.assertEqual(grid[4][6], 'green')
def test_blue_fire(self): bitmap = autopy.bitmap.Bitmap.open("sample_images/board_with_blue_fire.png") grid = get_current_grid(bitmap) # todo: check it's special self.assertEqual(grid[0][3], 'blue')
def test_red_cross(self): bitmap = autopy.bitmap.Bitmap.open("sample_images/board_with_red_cross.png") grid = get_current_grid(bitmap) # todo: check it's special self.assertEqual(grid[6][6], 'red')
def test_yellow_cross(self): bitmap = autopy.bitmap.Bitmap.open("sample_images/board_with_glowing_yellow.png") grid = get_current_grid(bitmap) # todo: check it's special self.assertEqual(grid[2][5], 'yellow')