def test_is_winner_no_end(): tiles = [] for _ in range(9): tiles.append(Tile()) board = Board(tiles) board.tiles()[0].set_collapsed('x1') assert board.is_winner() == (None, [])
def test_is_winner_one_option(): tiles = [] for _ in range(9): tiles.append(Tile()) board = Board(tiles) board.tiles()[0].set_collapsed('x1') board.tiles()[1].set_collapsed('x3') board.tiles()[2].set_collapsed('x5') assert board.is_winner() == ('x', [0, 1, 2])
def test_is_game_end(): tiles = [] for _ in range(9): tiles.append(Tile()) board = Board(tiles) board.tiles()[0].set_collapsed('x1') board.tiles()[1].set_collapsed('x3') board.tiles()[2].set_collapsed('x5') game = Game(board) assert game.is_game_end() is True
def test_could_collapse(): tiles = [] for _ in range(9): tiles.append(Tile()) board = Board(tiles) board.add_entangl_tile(1) board.add_entangl_tile(2) board.tiles()[1].set_move_on_tile('x1') board.tiles()[2].set_move_on_tile('x1') assert board.could_collapse(1, 'x1') is True
def test_is_not_entanglement(): tiles = [] for _ in range(9): tiles.append(Tile()) board = Board(tiles) game = Game(board) board.tiles()[1].set_move_on_tile('x1') board.tiles()[2].set_move_on_tile('x1') board.tiles()[1].set_move_on_tile('x3') board.tiles()[3].set_move_on_tile('x3') game.set_last_move('x3') game.set_last_tile(1) assert game.is_entanglement() is False
def test_analyse_board(): tiles = [] for _ in range(9): tiles.append(Tile()) board = Board(tiles) board.add_entangl_tile(1) board.add_entangl_tile(2) board.tiles()[1].set_move_on_tile('x1') board.tiles()[2].set_move_on_tile('x1') board.tiles()[1].set_move_on_tile('y2') board.tiles()[2].set_move_on_tile('y2') board.collapse(1, 'x1') assert board.analyse_board() == ['-', 'x1', 'y2', '-', '-', '-', '-', '-', '-']
def test_board_create(): tiles = [] for _ in range(9): tiles.append(Tile()) board = Board(tiles) assert board.tiles() == tiles assert board.entangl_tiles() == []
def test_game_entanglement(): tiles = [] for _ in range(9): tiles.append(Tile()) board = Board(tiles) game = Game(board) assert game.entanglement is False assert game.basic is True board.tiles()[1].set_move_on_tile('x1') board.tiles()[2].set_move_on_tile('x1') board.tiles()[1].set_move_on_tile('x3') board.tiles()[2].set_move_on_tile('x3') game.set_last_move('x3') game.set_last_tile(2) game.game_entanglement() assert game.entanglement is True assert game.basic is False
def test_bot_collapse(monkeypatch): tiles = [] for _ in range(9): tiles.append(Tile()) board = Board(tiles) game = Game(board) board.tiles()[1].set_move_on_tile('x1') board.tiles()[2].set_move_on_tile('x1') board.tiles()[1].set_move_on_tile('x3') board.tiles()[2].set_move_on_tile('x3') board.add_entangl_tile(1) board.add_entangl_tile(2) bot = Bot('easy', board, game) def one(a): return 1 monkeypatch.setattr('quantum_tictactoe.bot.choice', one) assert bot.collapse() == '1,x3'
def test_is_winner_more_options(): tiles = [] for _ in range(9): tiles.append(Tile()) board = Board(tiles) board.tiles()[0].set_collapsed('x7') board.tiles()[1].set_collapsed('x3') board.tiles()[2].set_collapsed('x5') board.tiles()[3].set_collapsed('y2') board.tiles()[4].set_collapsed('y4') board.tiles()[5].set_collapsed('y6') assert board.is_winner() == ('y', [3, 4, 5])
def test_is_game_end_more_options(): tiles = [] for _ in range(9): tiles.append(Tile()) board = Board(tiles) board.tiles()[0].set_collapsed('x7') board.tiles()[1].set_collapsed('x3') board.tiles()[2].set_collapsed('x5') board.tiles()[3].set_collapsed('y2') board.tiles()[4].set_collapsed('y4') board.tiles()[5].set_collapsed('y6') game = Game(board) assert game.is_game_end() is True
def test_collapse_error(): tiles = [] for _ in range(9): tiles.append(Tile()) board = Board(tiles) board.add_entangl_tile(1) board.add_entangl_tile(2) board.tiles()[1].set_move_on_tile('x1') board.tiles()[1].set_move_on_tile('x3') board.tiles()[2].set_move_on_tile('x1') board.tiles()[1].set_move_on_tile('y2') board.tiles()[2].set_move_on_tile('y2') with pytest.raises(InvalidCollapseError): board.collapse(1, 'x3')
def test_game_collapse_bot(): tiles = [] for _ in range(9): tiles.append(Tile()) board = Board(tiles) game = Game(board) bot = Bot('easy', board, game) assert board.tiles()[1].is_collapsed() is False assert board.tiles()[2].is_collapsed() is False board.tiles()[1].set_move_on_tile('x1') board.tiles()[2].set_move_on_tile('x1') board.tiles()[1].set_move_on_tile('x3') board.tiles()[2].set_move_on_tile('x3') game.set_last_move('x3') game.set_last_tile(2) game.game_entanglement() game.game_collapse(bot, 'easy') assert board.tiles()[1].is_collapsed() is True assert board.tiles()[2].is_collapsed() is True