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"
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")
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
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
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
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)
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)
def test_that_black_king_prints_to_KX(self): piece = King("black", 10) assert str(piece) == "KX"
def test_that_white_king_prints_to_KO(self): piece = King("white", 10) assert str(piece) == "KO"