Exemple #1
0
    def test_that_king_equates_to_str(self):
        king = King("white", 1)
        black_king = King("black", 32)

        assert king == "white"
        assert not king == "black"

        assert black_king == "black"
        assert not black_king == "white"
Exemple #2
0
    def test_that_king_takes_are_included_in_valid_moves(self):
        game = Game()

        game._board._board[4, 3] = King("white", None)
        game._board._board[3, 4] = King("black", None)
        game._board._board[5, 4] = King("black", None)
        game._board._board[2, 3] = King("white", None)

        assert "18-11" in game.valid_moves("white")
        assert "15-22" in game.valid_moves("black")
        assert "18-27" in game.valid_moves("white")
        assert "15-6" in game.valid_moves("black")
Exemple #3
0
    def test_that_empty_peice_equates_to_piece(self):
        empty = EmptyPiece(10)
        empty2 = EmptyPiece(11)
        piece = Piece("white", 32)
        black_piece = Piece("black", 1)
        king = King("white", 2)
        black_king = King("black", 31)

        assert empty == empty2
        assert not empty == piece
        assert not empty == black_piece
        assert not empty == king
        assert not empty == black_king
Exemple #4
0
    def test_valid_moves_include_backwards_moves_for_kings(self):
        game = Game()
        game.reset()

        game._board._board[4, 3] = King("white", None)
        game._board._board[4, 5] = King("black", None)

        white_moves = game.valid_moves("white")
        for move in ["18-14", "18-15", "18-22", "18-23"]:
            assert move in white_moves

        black_moves = game.valid_moves("black")
        for move in ["19-15", "19-16", "19-23", "19-24"]:
            assert move in black_moves
Exemple #5
0
    def test_that_piece_equates_to_piece(self):
        piece = Piece("white", 32)
        king = King("white", 1)
        black_piece = Piece("black", 2)
        black_king = King("black", 31)

        assert piece == piece
        assert piece == king
        assert not piece == black_piece
        assert not piece == black_king

        assert black_piece == black_piece
        assert black_piece == black_king
        assert not black_piece == piece
        assert not black_piece == king
Exemple #6
0
    def test_that_king_equates_to_pieces(self):
        king = King("white", 10)
        king2 = King("white", 12)
        piece = Piece("white", 11)
        black_king = King("black", 1)
        black_piece = Piece("black", 2)

        assert king == piece
        assert king == king2
        assert king == king
        assert not king == black_king
        assert not king == black_piece

        assert black_king == black_piece
        assert not black_king == piece
        assert not black_king == king
    def test_that_black_pieces_can_be_promoted_on_move(self):
        board = Board()
        board.reset()

        # put a black piece within a move of bottom row
        board._board[(6, 1)] = Piece("black", None)

        # remove the black piece in its way
        board._board[(7, 0)] = EmptyPiece(None)

        # Move the white piece into the bottom row
        board.move(25, 29)

        assert board._board[(6, 1)] == EmptyPiece()
        assert board._board[(7, 0)] == King("black", None)
    def test_that_white_pieces_can_be_promoted_on_move(self):
        board = Board()
        board.reset()

        # put a white piece within a move of end row
        board._board[(1, 0)] = Piece("white", None)

        # remove the black piece in its way
        board._board[(0, 1)] = EmptyPiece(None)

        # Move the white piece into the top row
        board.move(5, 1)

        assert board._board[(1, 0)] == EmptyPiece()
        assert board._board[(0, 1)] == King("white", None)
Exemple #9
0
 def test_that_black_king_can_move_in_any_direction(self):
     piece = King("black", 10)
     assert piece.move(Direction.SE)
     assert piece.move(Direction.SW)
     assert piece.move(Direction.NE)
     assert piece.move(Direction.NW)
Exemple #10
0
 def test_that_black_king_prints_to_KX(self):
     piece = King("black", 10)
     assert str(piece) == "KX"
Exemple #11
0
 def test_that_white_king_prints_to_KO(self):
     piece = King("white", 10)
     assert str(piece) == "KO"