def test_capture_piece_queen_bad(self): factor = 1 black_queen = pieces.Queen(False, 8, 8) white_queen = pieces.Queen(True, 12, 8) self.assertEqual(81, score.capture_piece(black_queen, white_queen, factor))
def complete_matrix_pieces(self): for row, pieces_row in enumerate(self.matrix): for col, piece in enumerate(pieces_row): # Creates a list with black pieces if piece == '♟': black_pawn = pieces.Pawn(False, row, col) self.matrix_pieces[row][col] = black_pawn elif piece == '♞': black_horse = pieces.Horse(False, row, col) self.matrix_pieces[row][col] = black_horse elif piece == '♝': black_bishop = pieces.Bishop(False, row, col) self.matrix_pieces[row][col] = black_bishop elif piece == '♜': black_rook = pieces.Rook(False, row, col) self.matrix_pieces[row][col] = black_rook elif piece == '♛': black_queen = pieces.Queen(False, row, col) self.matrix_pieces[row][col] = black_queen elif piece == '♚': black_king = pieces.King(False, row, col) self.matrix_pieces[row][col] = black_king # Creates a list with white pieces elif piece == '♙': white_pawn = pieces.Pawn(True, row, col) self.matrix_pieces[row][col] = white_pawn elif piece == '♘': white_horse = pieces.Horse(True, row, col) self.matrix_pieces[row][col] = white_horse elif piece == '♗': white_bishop = pieces.Bishop(True, row, col) self.matrix_pieces[row][col] = white_bishop elif piece == '♖': white_rook = pieces.Rook(True, row, col) self.matrix_pieces[row][col] = white_rook elif piece == '♕': white_queen = pieces.Queen(True, row, col) self.matrix_pieces[row][col] = white_queen elif piece == '♔': white_king = pieces.King(True, row, col) self.matrix_pieces[row][col] = white_king # Creates a list with empty squares else: empty_square = pieces.EmptySquare(row, col) self.matrix_pieces[row][col] = empty_square
def test_capture_piece_bishop_good(self): factor = 1 black_queen = pieces.Queen(False, 8, 8) white_bishop = pieces.Bishop(True, 9, 8) self.assertEqual( 405, score.capture_piece(black_queen, white_bishop, factor))
def test_capture_piece_king_bad(self): factor = 1 black_queen = pieces.Queen(False, 8, 8) white_king = pieces.King(True, 12, 8) self.assertEqual(100, score.capture_piece(black_queen, white_king, factor))
def test_capture_piece_rook_good(self): factor = 1 black_queen = pieces.Queen(False, 8, 8) white_rook = pieces.Rook(True, 9, 8) self.assertEqual(605, score.capture_piece(black_queen, white_rook, factor))
def test_capture_piece_horse_good(self): factor = 1 black_queen = pieces.Queen(False, 8, 8) white_horse = pieces.Horse(True, 9, 8) self.assertEqual(305, score.capture_piece(black_queen, white_horse, factor))
def test_capture_piece_pawn_good(self): factor = 1 black_queen = pieces.Queen(False, 8, 8) white_pawn = pieces.Pawn(True, 7, 8) self.assertEqual(105, score.capture_piece(black_queen, white_pawn, factor))
def test_whitequeen_invalid_move_jump(self): queen = pieces.Queen(True, 8, 8) empty_square1 = pieces.EmptySquare(6, 9) empty_square2 = pieces.EmptySquare(10, 9) empty_square3 = pieces.EmptySquare(10, 7) empty_square4 = pieces.EmptySquare(6, 7) self.assertFalse(queen.valid_move(empty_square1)) self.assertFalse(queen.valid_move(empty_square2)) self.assertFalse(queen.valid_move(empty_square3)) self.assertFalse(queen.valid_move(empty_square4))
def test_whitequeen_invalid_move_capture(self): queen = pieces.Queen(True, 8, 8) rival1 = pieces.Pawn(False, 6, 9) rival2 = pieces.Pawn(False, 10, 9) rival3 = pieces.Pawn(False, 10, 7) rival4 = pieces.Pawn(False, 6, 7) self.assertFalse(queen.valid_move(rival1)) self.assertFalse(queen.valid_move(rival2)) self.assertFalse(queen.valid_move(rival3)) self.assertFalse(queen.valid_move(rival4))
def test_scan_right(self): queen = pieces.Queen(False, 8, 8) pawn = pieces.Pawn(True, 8, 11) self.board_game.matrix_pieces[8][8] = queen self.board_game.matrix_pieces[8][11] = pawn right = scans.scan_right(self.board_game, queen) self.assertIsInstance(next(right), pieces.EmptySquare) self.assertIsInstance(next(right), pieces.EmptySquare) self.assertIsInstance(next(right), pieces.Pawn)
def test_scan_up(self): queen = pieces.Queen(False, 8, 8) pawn = pieces.Pawn(True, 5, 8) self.board_game.matrix_pieces[8][8] = queen self.board_game.matrix_pieces[5][8] = pawn up = scans.scan_up(self.board_game, queen) self.assertIsInstance(next(up), pieces.EmptySquare) self.assertIsInstance(next(up), pieces.EmptySquare) self.assertIsInstance(next(up), pieces.Pawn)
def test_scan_down_left(self): queen = pieces.Queen(False, 8, 8) pawn = pieces.Pawn(True, 11, 5) self.board_game.matrix_pieces[8][8] = queen self.board_game.matrix_pieces[11][5] = pawn down_left = scans.scan_down_left(self.board_game, queen) self.assertIsInstance(next(down_left), pieces.EmptySquare) self.assertIsInstance(next(down_left), pieces.EmptySquare) self.assertIsInstance(next(down_left), pieces.Pawn)
def test_set_score(self): score_new = score.Score() color = True white_queen = pieces.Queen(True, 8, 8) black_king = pieces.King(False, 0, 8) move = [{ 'from_row': 8, 'from_col': 8, 'to_row': 0, 'to_col': 8, 'score': 100.0 }] score_new.set_score(white_queen, black_king, color) self.assertEqual(move, score_new.play_moves)
def test_whitekqueen_valid_move_jump(self): queen = pieces.Queen(True, 8, 8) empty_square1 = pieces.EmptySquare(1, 8) # up empty_square2 = pieces.EmptySquare(5, 11) # up_right empty_square3 = pieces.EmptySquare(8, 15) # right empty_square4 = pieces.EmptySquare(11, 11) # down_right empty_square5 = pieces.EmptySquare(12, 8) # down empty_square6 = pieces.EmptySquare(10, 6) # down_left empty_square7 = pieces.EmptySquare(8, 3) # left empty_square8 = pieces.EmptySquare(5, 5) # up_left self.assertTrue(queen.valid_move(empty_square1)) self.assertTrue(queen.valid_move(empty_square2)) self.assertTrue(queen.valid_move(empty_square3)) self.assertTrue(queen.valid_move(empty_square4)) self.assertTrue(queen.valid_move(empty_square5)) self.assertTrue(queen.valid_move(empty_square6)) self.assertTrue(queen.valid_move(empty_square7)) self.assertTrue(queen.valid_move(empty_square8))
def test_whitekqueen_valid_move_capture(self): queen = pieces.Queen(True, 8, 8) rival1 = pieces.Pawn(False, 1, 8) # up rival2 = pieces.Pawn(False, 5, 11) # up_right rival3 = pieces.Pawn(False, 8, 15) # right rival4 = pieces.Pawn(False, 11, 11) # down_right rival5 = pieces.Pawn(False, 12, 8) # down rival6 = pieces.Pawn(False, 10, 6) # down_left rival7 = pieces.Pawn(False, 8, 3) # left rival8 = pieces.Pawn(False, 5, 5) # up_left self.assertTrue(queen.valid_move(rival1)) self.assertTrue(queen.valid_move(rival2)) self.assertTrue(queen.valid_move(rival3)) self.assertTrue(queen.valid_move(rival4)) self.assertTrue(queen.valid_move(rival5)) self.assertTrue(queen.valid_move(rival6)) self.assertTrue(queen.valid_move(rival7)) self.assertTrue(queen.valid_move(rival8))
def test_protect_center_1(self): white_queen = pieces.Queen(True, 8, 8) black_queen = pieces.Queen(False, 15, 15) self.assertEqual(1, score.protect_center(white_queen, black_queen))
def test_protect_center_5(self): white_queen = pieces.Queen(True, 9, 9) black_queen = pieces.Queen(False, 8, 8) self.assertEqual(5, score.protect_center(white_queen, black_queen))
def test_jump_rival_queen(self): factor = -1 queen = pieces.Queen(True, 8, 8) self.assertEqual(-6, score.jump_piece(queen, factor))