示例#1
0
 def test_validate_origin_coordinates_location_method_valid(self, color, coords):
     piece = Rook(color, (0, 0))
     piece.captured = True
     self.game.white_captures.append(piece)
     self.game.black_captures.append(piece)
     self.game.playerturn = color
     for coord in coords:
         row, col = coord
         self.assertTrue(self.game.validate_origin_coordinates_location(row, col))
         self.assertEqual(self.game.error, "")
示例#2
0
 def test_rook_creation(self, color, orientation, position):
     rook = Rook(color, position)
     self.assertEqual(rook.color, color)
     self.assertEqual(rook.name, "R")
     self.assertFalse(rook.promoted)
     self.assertFalse(rook.set_for_promotion)
     self.assertFalse(rook.captured)
     self.assertEqual(str(rook), f" R{orientation}")
示例#3
0
 def test_current_player_captures_method(self):
     self.game.playerturn = "white"
     white_piece = Rook("white", (0, 0))
     self.game.white_captures.append(white_piece)
     self.assertEqual(self.game.current_player_captures(), [white_piece])
     self.game.playerturn = "black"
     black_piece = Bishop("black", (0, 0))
     self.game.black_captures.append(black_piece)
     self.assertEqual(self.game.current_player_captures(), [black_piece])
示例#4
0
 def test_validate_destination_coordinates_method(self, color, coords):
     piece = Rook(color, (9, 0))
     piece.captured = True
     self.game.white_captures.append(piece)
     self.game.black_captures.append(piece)
     self.game.playerturn = color
     origin, invalid_row, invalid_col, invalid_int, invalid_move, invalid_drop = coords
     self.game.play_origin(origin[0], origin[1])
     self.assertFalse(self.game.validate_destination_coordinates(invalid_row[0], invalid_row[1]))
     self.assertEqual(self.game.error, "Row value is not between 0-8!")
     self.assertFalse(self.game.validate_destination_coordinates(invalid_col[0], invalid_col[1]))
     self.assertEqual(self.game.error, "Column Value is not between 0-8!")
     self.assertFalse(self.game.validate_destination_coordinates(invalid_int[0], invalid_int[1]))
     self.assertEqual(self.game.error, "Only Numbers are accepted, no letters or empty spaces!")
     self.assertFalse(self.game.validate_destination_coordinates(invalid_move[0], invalid_move[1]))
     self.assertEqual(self.game.error, "That's not a valid movement!")
     self.game.play_origin(9, 0)
     self.assertFalse(self.game.validate_destination_coordinates(invalid_drop[0], invalid_drop[1]))
     self.assertEqual(self.game.error, "You cant drop this Piece there!")
示例#5
0
 def test_clean_lifted_piece_origin_location_method(self, color, coords):
     piece = Rook(color, (9, 0))
     piece.captured = True
     self.game.playerturn = color
     self.game.current_player_captures().append(piece)
     for coord in coords:
         row, col = coord
         self.game.playerturn = color
         self.game.play_origin(row, col)
         self.assertEqual(self.game.board[row][col], self.game.lifted_piece)
         self.assertEqual(self.game.board[row][col].position, self.game.lifted_piece_coordinates)
         self.game.clean_lifted_piece_origin_location()
         self.assertEqual(self.game.board[row][col], "   ")
         self.assertEqual(self.game.lifted_piece_coordinates, ("", ""))
     self.game.play_origin(9, 0)
     self.assertEqual(piece, self.game.lifted_piece)
     self.assertEqual((9, 0), self.game.lifted_piece_coordinates)
     self.assertTrue(piece in self.game.current_player_captures())
     self.game.clean_lifted_piece_origin_location()
     self.assertEqual(("", ""), self.game.lifted_piece_coordinates)
     self.assertFalse(piece in self.game.current_player_captures())
示例#6
0
 def test_lift_piece_method(self, color, coords):
     piece = Rook(color, (9, 0))
     self.game.white_captures.append(piece)
     self.game.black_captures.append(piece)
     self.game.playerturn = color
     for coord in coords:
         row, col = coord
         self.game.lift_piece_for_movement(row, col)
         if row == 9:
             self.assertEqual(self.game.lifted_piece, piece)
         else:
             self.assertEqual(self.game.lifted_piece, self.game.board[row][col])
         self.assertEqual(self.game.lifted_piece_coordinates, (row, col))
示例#7
0
 def test_rook_moves_unpromoted(self, color, valid, obstacle, capture):
     self.game.board = self.sample_board
     self.game.board[4][4] = Rook(color, (4, 4))
     self.assertEqual(
         self.game.board[4][4].movement_unpromoted(self.game.board),
         valid)
     self.game.board[4][2] = self.game.board[4][6] = Pawn(color, (1, 1))
     self.assertEqual(
         self.game.board[4][4].movement_unpromoted(self.game.board),
         obstacle)
     self.game.board[4][2] = self.game.board[4][6] = Pawn("color", (1, 1))
     self.assertEqual(
         self.game.board[4][4].movement_unpromoted(self.game.board),
         capture)
示例#8
0
 def test_filter_moves_rook_method(self, color, coords_n, coords_w, coords_e, coords_s):
     moves_n, filtered_moves_n = coords_n
     moves_w, filtered_moves_w = coords_w
     moves_e, filtered_moves_e = coords_e
     moves_s, filtered_moves_s = coords_s
     self.game.board = self.sample_board
     self.game.board[4][4] = Rook(color, (4, 4))
     self.game.board[2][4] = Pawn("white", (2, 4))
     self.game.board[4][2] = Pawn("black", (4, 2))
     self.game.board[4][6] = Pawn("white", (4, 6))
     self.game.board[6][4] = Pawn("black", (6, 4))
     self.assertEqual(self.game.board[4][4].filter_moves(moves_n, self.game.board), filtered_moves_n)
     self.assertEqual(self.game.board[4][4].filter_moves(moves_w, self.game.board), filtered_moves_w)
     self.assertEqual(self.game.board[4][4].filter_moves(moves_e, self.game.board), filtered_moves_e)
     self.assertEqual(self.game.board[4][4].filter_moves(moves_s, self.game.board), filtered_moves_s)