예제 #1
0
파일: test_pieces.py 프로젝트: Ceasar/Chess
 def test_promotions_are_valid_with_capturable(self):
     pawn = Pawn(self.white, (4, 6))
     rook = Rook(self.black, (3, 7))
     self.board.add_piece(pawn)
     self.board.add_piece(rook)
     moves = list(pawn.moves(self.board))
     self.assertTrue(all(move.promotion is not None for move in moves))
예제 #2
0
파일: test_pieces.py 프로젝트: Ceasar/Chess
 def test_promotions_with_capturable(self):
     pawn = Pawn(self.white, (4, 6))
     rook = Rook(self.black, (3, 7))
     self.board.add_piece(pawn)
     self.board.add_piece(rook)
     moves = list(pawn.moves(self.board))
     self.assertTrue(len(moves), 8)
예제 #3
0
파일: test_pieces.py 프로젝트: Ceasar/Chess
 def test_moves_captureable_enemy(self):
     king = King(self.white, (0, 4))
     pawn = Pawn(self.white, (4, 4))
     bishop = Bishop(self.black, (5, 5))
     self.board.add_piece(king)
     self.board.add_piece(pawn)
     self.board.add_piece(bishop)
     moves = list(pawn.moves(self.board))
     self.assertEquals(len(moves), 2, moves)
예제 #4
0
파일: test_pieces.py 프로젝트: Ceasar/Chess
 def test_cant_en_passant(self):
     pawn1 = Pawn(self.white, (4, 4))
     pawn2 = Pawn(self.black, (3, 5))
     self.board.add_piece(pawn1)
     self.board.add_piece(pawn2)
     move = Move(pawn2, pawn2.location, (3, 4))
     self.game._make_move(move)
     moves = [m for m in pawn1.moves(self.board)]
     self.assertEqual(len(moves), 1)
예제 #5
0
파일: test_pieces.py 프로젝트: Ceasar/Chess
 def test_promotions(self):
     pawn = Pawn(self.white, (4, 6))
     moves = list(pawn.moves(self.board))
     self.assertEquals(len(moves), 4, moves)
예제 #6
0
파일: test_pieces.py 프로젝트: Ceasar/Chess
 def test_moves_blocked_enemy(self):
     pawn = Pawn(self.white, (4, 4))
     bishop = Bishop(self.black, (4, 5))
     self.board.add_piece(bishop)
     moves = list(pawn.moves(self.board))
     self.assertEquals(len(moves), 0, moves)
예제 #7
0
파일: test_pieces.py 프로젝트: Ceasar/Chess
 def test_moves_start_blocked(self):
     pawn = Pawn(self.white, (4, 1))
     bishop = Bishop(self.white, (4, 3))
     self.board.add_piece(bishop)
     moves = list(pawn.moves(self.board))
     self.assertEquals(len(moves), 1, moves)
예제 #8
0
파일: test_pieces.py 프로젝트: Ceasar/Chess
 def test_moves_start(self):
     pawn = Pawn(self.white, (4, 1))
     moves = list(pawn.moves(self.board))
     self.assertEquals(len(moves), 2, moves)
예제 #9
0
파일: test_pieces.py 프로젝트: Ceasar/Chess
 def test_moves_center(self):
     pawn = Pawn(self.white, (4, 4))
     moves = list(pawn.moves(self.board))
     self.assertEquals(len(moves), 1, moves)
예제 #10
0
파일: test_pieces.py 프로젝트: Ceasar/Chess
 def test_promotions_are_valid(self):
     pawn = Pawn(self.white, (4, 6))
     moves = list(pawn.moves(self.board))
     self.assertTrue(all(move.promotion is not None for move in moves))