def test_down_movement_not_possible(self): """Test the possible_movements function""" # Arrange game = Game() game.board = [ [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 2, 0, 0], ] # Act & Assert self.assertEqual(game.possible_movements(), ["left", "right", "up"])
def test_default_board_size(self): """Test the expected default board size""" # Arrange game = Game() default_size = 4 # Assert self.assertEqual(len(game.board), default_size) for row in game.board: self.assertEqual(len(row), default_size)
def test_alternative_board_size(self): """Test the altered board size""" # Arrange altered_size = 6 # Act game = Game(board_size=altered_size) # Assert self.assertEqual(len(game.board), altered_size) for row in game.board: self.assertEqual(len(row), altered_size)
def test_perform_move_right(self): """Test perform movement function""" # Arrange expected_output_board = [ [0, 0, 0, 2], [0, 0, 0, 4], [0, 0, 0, 2], [0, 0, 0, 0], ] game = Game() game.board = [ [2, 0, 0, 0], [2, 2, 0, 0], [0, 0, 2, 0], [0, 0, 0, 0], ] # Act game.perform_movement("right", insert_number=False) # Assert self.assertEqual(game.board, expected_output_board)
def __play_game(self) -> None: game = Game() game_results = [ MoveResult(board=game.board, performed_move=None, score=game.current_score).__dict__ ] possible_movements = game.possible_movements() while len(possible_movements) > 0: move = determine_best_movement(game.board, possible_movements) game.perform_movement(move) game_results.append( MoveResult(board=game.board, performed_move=move, score=game.current_score).__dict__) possible_movements = game.possible_movements() self.__played_games.append(game_results)
def test_directions_property(self): """Test if the game its directions property returns the correct directions""" # Arrange game = Game() # Assert self.assertEqual(game.directions, self.EXPECTED_DIRECTIONS)