Exemplo n.º 1
0
 def test_target_area(self):
     other_friendly_piece = Tower(1, 5, "black")
     addPiece(other_friendly_piece, self.board)
     self.assertFalse(self.OUT.checkValidTurn(1, 5))
     other_pawn = Pawn(2, 6, "black")
     addPiece(other_pawn, self.board)
     other_enemy_piece = Tower(2, 5, "white")
     addPiece(other_enemy_piece, self.board)
     self.assertFalse(other_pawn.checkValidTurn(2, 5))
     other_enemy_piece2 = Tower(3, 5, "white")
     addPiece(other_enemy_piece2, self.board)
     self.assertTrue(other_pawn.checkValidTurn(3, 5))
Exemplo n.º 2
0
class TestWhitePawn(PieceTestCase):
    def getPiece(self):
        return Pawn(1, 1, "white")

    def test_allowed_moves(self):
        self.assertTrue(self.OUT.checkValidTurn(1, 2))
        self.assertTrue(self.OUT.checkValidTurn(1, 3))
        self.OUT = Pawn(1, 3, "white")
        addPiece(self.OUT, self.board)
        self.assertTrue(self.OUT.checkValidTurn(1, 4))

    def test_disallowed_moves(self):
        self.assertFalse(self.OUT.checkValidTurn(2, 1))
        self.assertFalse(self.OUT.checkValidTurn(1, 0))
        self.assertFalse(self.OUT.checkValidTurn(1, 4))
        self.assertFalse(self.OUT.checkValidTurn(1, 5))
        self.assertFalse(self.OUT.checkValidTurn(2, 2))
        self.OUT = Pawn(1, 3, "white")
        addPiece(self.OUT, self.board)
        self.assertFalse(self.OUT.checkValidTurn(1, 5))

    def test_target_area(self):
        # check for collision with friendly piece
        other_friendly_piece = Tower(1, 2, "white")
        addPiece(other_friendly_piece, self.board)
        self.assertFalse(self.OUT.checkValidTurn(1, 2))

        # add other pawn
        other_pawn = Pawn(2, 1, "white")
        addPiece(other_pawn, self.board)
        # check for collision with enemy piece
        other_enemy_piece = Tower(2, 2, "black")
        addPiece(other_enemy_piece, self.board)
        self.assertFalse(other_pawn.checkValidTurn(2, 2))

        # check for valid move on enemy piece
        other_enemy_piece2 = Tower(3, 2, "black")
        addPiece(other_enemy_piece2, self.board)
        self.assertTrue(other_pawn.checkValidTurn(3, 2))

    def test_out_of_board(self):
        self.OUT = Pawn(1, 7, "white")
        addPiece(self.OUT, self.board)
        self.assertFalse(self.OUT.checkValidTurn(1, 8))

    def test_blockage(self):
        other_piece = Knight(1, 2, "white")
        addPiece(other_piece, self.board)
        self.assertFalse(self.OUT.checkValidTurn(1, 3))

    def test_en_passant(self):
        # add enemy piece that just double moved
        enemy_piece = Pawn(3, 4, "black")
        enemy_piece.setDoubleMoved(True)
        addPiece(enemy_piece, self.board)
        self.OUT = Pawn(2, 4, "white")
        addPiece(self.OUT, self.board)
        self.assertTrue(self.OUT.checkValidTurn(3, 5))
Exemplo n.º 3
0
class TestBlackPawn(PieceTestCase):
    """
    on passant noch nicht im test
    promotion nicht im test
    """

    def getPiece(self):
        return Pawn(1, 6, "black")

    def test_allowed_moves(self):
        self.assertTrue(self.OUT.checkValidTurn(1, 5))
        self.assertTrue(self.OUT.checkValidTurn(1, 4))
        self.OUT = Pawn(1, 4, "black")
        addPiece(self.OUT, self.board)
        self.assertTrue(self.OUT.checkValidTurn(1, 3))

    def test_disallowed_moves(self):
        self.assertFalse(self.OUT.checkValidTurn(2, 6))
        self.assertFalse(self.OUT.checkValidTurn(1, 3))
        self.assertFalse(self.OUT.checkValidTurn(1, 7))
        self.assertFalse(self.OUT.checkValidTurn(1, 6))
        self.OUT = Pawn(1, 4, "black")
        addPiece(self.OUT, self.board)
        self.assertFalse(self.OUT.checkValidTurn(1, 2))

    def test_target_area(self):
        other_friendly_piece = Tower(1, 5, "black")
        addPiece(other_friendly_piece, self.board)
        self.assertFalse(self.OUT.checkValidTurn(1, 5))
        other_pawn = Pawn(2, 6, "black")
        addPiece(other_pawn, self.board)
        other_enemy_piece = Tower(2, 5, "white")
        addPiece(other_enemy_piece, self.board)
        self.assertFalse(other_pawn.checkValidTurn(2, 5))
        other_enemy_piece2 = Tower(3, 5, "white")
        addPiece(other_enemy_piece2, self.board)
        self.assertTrue(other_pawn.checkValidTurn(3, 5))

    def test_out_of_board(self):
        self.OUT = Pawn(1, 0, "black")
        addPiece(self.OUT, self.board)
        self.assertFalse(self.OUT.checkValidTurn(1, -1))

    def test_blockage(self):
        other_piece = Knight(1, 5, "white")
        addPiece(other_piece, self.board)
        self.assertFalse(self.OUT.checkValidTurn(1, 4))

    def test_en_passant(self):
        # add enemy piece that just double moved
        enemy_piece = Pawn(3, 3, "white")
        enemy_piece.setDoubleMoved(True)
        addPiece(enemy_piece, self.board)
        self.OUT = Pawn(2, 3, "black")
        addPiece(self.OUT, self.board)
        self.assertTrue(self.OUT.checkValidTurn(3, 2))
Exemplo n.º 4
0
    def test_target_area(self):
        # check for collision with friendly piece
        other_friendly_piece = Tower(1, 2, "white")
        addPiece(other_friendly_piece, self.board)
        self.assertFalse(self.OUT.checkValidTurn(1, 2))

        # add other pawn
        other_pawn = Pawn(2, 1, "white")
        addPiece(other_pawn, self.board)
        # check for collision with enemy piece
        other_enemy_piece = Tower(2, 2, "black")
        addPiece(other_enemy_piece, self.board)
        self.assertFalse(other_pawn.checkValidTurn(2, 2))

        # check for valid move on enemy piece
        other_enemy_piece2 = Tower(3, 2, "black")
        addPiece(other_enemy_piece2, self.board)
        self.assertTrue(other_pawn.checkValidTurn(3, 2))