def testMidGamePositionBishopMoves(self): bishopUnit = Unit(BISHOPR, self.game.white) self.game.setUnitOnBoard(3, 4, bishopUnit) calculatePossibleMoves(self.game, self.game.turn) expectedMoves = ["16", "25", "43", "52", "61", "07", "70", "45", "56", "67", "23", "12", "01"] assertExpectedMovesResults(expectedMoves, bishopUnit) assertNumberOfWhiteAndTotalUnits(self.game, 1, 1)
def testUpperRightCornerBishopMoves(self): bishopUnit = Unit(BISHOPL, self.game.white) self.game.setUnitOnBoard(7, 7, bishopUnit) calculatePossibleMoves(self.game, self.game.turn) expectedMoves = ["11", "22", "33", "44", "55", "66", "00"] assertExpectedMovesResults(expectedMoves, bishopUnit) assertNumberOfWhiteAndTotalUnits(self.game, 1, 1)
def testLowerRightCornerBishopMoves(self): bishopUnit = Unit(BISHOPR, self.game.white) self.game.setUnitOnBoard(7, 0, bishopUnit) calculatePossibleMoves(self.game, self.game.turn) expectedMoves = ["16", "25", "34", "43", "52", "61", "07"] assertExpectedMovesResults(expectedMoves, bishopUnit) assertNumberOfWhiteAndTotalUnits(self.game, 1, 1)
def testLeftBorderBishopMoves(self): bishopUnit = Unit(BISHOPL, self.game.white) self.game.setUnitOnBoard(0, 2, bishopUnit) calculatePossibleMoves(self.game, self.game.turn) expectedMoves = ["11", "20", "13", "24", "35", "46", "57"] assertExpectedMovesResults(expectedMoves, bishopUnit) assertNumberOfWhiteAndTotalUnits(self.game, 1, 1)
def testRightBorderBishopMoves(self): bishopUnit = Unit(BISHOPR, self.game.white) self.game.setUnitOnBoard(7, 2, bishopUnit) calculatePossibleMoves(self.game, self.game.turn) expectedMoves = ["61", "50", "63", "54", "45", "36", "27"] assertExpectedMovesResults(expectedMoves, bishopUnit) assertNumberOfWhiteAndTotalUnits(self.game, 1, 1)
def testStartPositionBlackRightBishopMoves(self): bishopUnit = Unit(BISHOPR, self.game.white) self.game.setUnitOnBoard(2, 7, bishopUnit) calculatePossibleMoves(self.game, self.game.turn) expectedMoves = ["16", "05", "36", "45", "54", "63", "72"] assertExpectedMovesResults(expectedMoves, bishopUnit) assertNumberOfWhiteAndTotalUnits(self.game, 1, 1)
def testStartPositionBlackLeftBishopMoves(self): bishopUnit = Unit(BISHOPL, self.game.white) self.game.setUnitOnBoard(5, 7, bishopUnit) calculatePossibleMoves(self.game, self.game.turn) expectedMoves = ["02", "13", "24", "35", "46", "66", "75"] assertExpectedMovesResults(expectedMoves, bishopUnit) assertNumberOfWhiteAndTotalUnits(self.game, 1, 1)
def testStartPositionWhiteRightBishopMoves(self): bishopUnit = Unit(BISHOPR, self.game.white) self.game.setUnitOnBoard(5, 0, bishopUnit) calculatePossibleMoves(self.game, self.game.turn) expectedMoves = ["05", "14", "23", "32", "41", "61", "72"] assertExpectedMovesResults(expectedMoves, bishopUnit) assertNumberOfWhiteAndTotalUnits(self.game, 1, 1)
def testStartPositionWhiteLeftBishopMoves(self): bishopUnit = Unit(BISHOPL, self.game.white) self.game.setUnitOnBoard(2, 0, bishopUnit) calculatePossibleMoves(self.game, self.game.turn) expectedMoves = ["11", "02", "31", "42", "53", "64", "75"] assertExpectedMovesResults(expectedMoves, bishopUnit) assertNumberOfWhiteAndTotalUnits(self.game, 1, 1)
def testMidGamePositionBishopNoHitMoves(self): bishopUnit = Unit(BISHOPR, self.game.white) self.game.setUnitOnBoard(3, 4, bishopUnit) self.game.setUnitOnBoard(4, 5, Unit(KNIGHT, self.game.white)) self.game.setUnitOnBoard(5, 2, Unit(KNIGHT, self.game.white)) self.game.setUnitOnBoard(2, 3, Unit(KNIGHT, self.game.white)) self.game.setUnitOnBoard(1, 6, Unit(KNIGHT, self.game.white)) calculatePossibleMoves(self.game, self.game.turn) expectedMoves = ["43", "25"] assertExpectedMovesResults(expectedMoves, bishopUnit) assertNumberOfWhiteAndTotalUnits(self.game, 5, 5)
def testBlackEnPassantLeft(self): game = self.game opponentUnit = Unit(PAWN, game.white) opponentUnit2 = Unit(PAWN, game.white) game.setUnitOnBoard(1, 3, self.pawnUnit) game.setUnitOnBoard(0, 1, opponentUnit) # white turn game.turn = game.turn.opponent calculatePossibleMoves(game, game.turn, True) assertExpectedMovesResults(["02", "03"], opponentUnit) opponentUnit.moves = ["03"] game.writeUnitMovesToFile(game.turn) game.moveUnit() game.turn = game.turn.opponent # black turn game.setUnitOnBoard(2, 3, opponentUnit2) calculatePossibleMoves(game, game.turn, True) assertExpectedMovesResults(["12", "pl"], self.pawnUnit) assertNumberOfWhiteAndTotalUnits(game, 2, 3) # clean up database and logfile removeLogFileAndDatabase()
def testWhiteEnPassantRight(self): game = self.game opponentUnit = Unit(PAWN, game.black) opponentUnit2 = Unit(PAWN, game.black) game.setUnitOnBoard(1, 4, self.pawnUnit) game.setUnitOnBoard(2, 6, opponentUnit) # black turn game.turn = game.turn.opponent calculatePossibleMoves(game, game.turn, True) assertExpectedMovesResults(["25", "24"], opponentUnit) opponentUnit.moves = ["24"] game.writeUnitMovesToFile(game.turn) game.moveUnit() game.turn = game.turn.opponent # white turn game.setUnitOnBoard(0, 4, opponentUnit2) calculatePossibleMoves(game, game.turn, True) assertExpectedMovesResults(["15", "pr"], self.pawnUnit) assertNumberOfWhiteAndTotalUnits(game, 1, 3) # clean up database and logfile removeLogFileAndDatabase()
def testWhitePawnPromotionBlockedFront(self): self.game.setUnitOnBoard(1, 6, self.pawnUnit) self.game.setUnitOnBoard(1, 7, Unit(ROOK, self.game.black)) calculatePossibleMoves(self.game, self.game.turn) assertExpectedMovesResults([], self.pawnUnit) assertNumberOfWhiteAndTotalUnits(self.game, 1, 2)
def testMidGameWhitePawnMovesBlockedFront2(self): self.game.setUnitOnBoard(1, 2, self.pawnUnit) self.game.setUnitOnBoard(1, 4, Unit(PAWN, self.game.black)) calculatePossibleMoves(self.game, self.game.turn) assertExpectedMovesResults(["13"], self.pawnUnit) assertNumberOfWhiteAndTotalUnits(self.game, 1, 2)
def testStartPositionWhitePawnMovesRightHit(self): self.game.setUnitOnBoard(1, 1, self.pawnUnit) self.game.setUnitOnBoard(2, 2, Unit(PAWN, self.game.black)) calculatePossibleMoves(self.game, self.game.turn) assertExpectedMovesResults(["22", "12", "13"], self.pawnUnit) assertNumberOfWhiteAndTotalUnits(self.game, 1, 2)
def testWhitePawnPromotion(self): self.game.setUnitOnBoard(1, 6, self.pawnUnit) calculatePossibleMoves(self.game, self.game.turn) assertExpectedMovesResults(["173", "176"], self.pawnUnit) assertNumberOfWhiteAndTotalUnits(self.game, 1, 1)
def testMidGameWhitePawnMoves(self): self.game.setUnitOnBoard(1, 2, self.pawnUnit) calculatePossibleMoves(self.game, self.game.turn) assertExpectedMovesResults(["13"], self.pawnUnit) assertNumberOfWhiteAndTotalUnits(self.game, 1, 1)
def testWhitePawnPromotionLeftBlocked(self): self.game.setUnitOnBoard(1, 6, self.pawnUnit) self.game.setUnitOnBoard(0, 7, Unit(ROOK, self.game.white)) calculatePossibleMoves(self.game, self.game.turn) assertExpectedMovesResults(["173", "176"], self.pawnUnit) assertNumberOfWhiteAndTotalUnits(self.game, 2, 2)
def testStartPositionBlackPawnMovesBlockedFrontBlack(self): self.game.setUnitOnBoard(1, 6, self.pawnUnit) self.game.setUnitOnBoard(1, 5, Unit(PAWN, self.game.black)) calculatePossibleMoves(self.game, self.game.turn) assertExpectedMovesResults([], self.pawnUnit) assertNumberOfWhiteAndTotalUnits(self.game, 0, 2)
def testBlackPawnPromotionRightHit(self): self.game.setUnitOnBoard(1, 1, self.pawnUnit) self.game.setUnitOnBoard(0, 0, Unit(ROOK, self.game.white)) calculatePossibleMoves(self.game, self.game.turn) assertExpectedMovesResults(["003", "103", "006", "106"], self.pawnUnit) assertNumberOfWhiteAndTotalUnits(self.game, 1, 2)
def testStartPositionBlackPawnMoves(self): self.game.setUnitOnBoard(1, 6, self.pawnUnit) calculatePossibleMoves(self.game, self.game.turn) assertExpectedMovesResults(["15", "14"], self.pawnUnit) assertNumberOfWhiteAndTotalUnits(self.game, 0, 1)
def testWhitePawnPromotionRightHit(self): self.game.setUnitOnBoard(1, 6, self.pawnUnit) self.game.setUnitOnBoard(2, 7, Unit(ROOK, self.game.black)) calculatePossibleMoves(self.game, self.game.turn) assertExpectedMovesResults(["273", "173", "276", "176"], self.pawnUnit) assertNumberOfWhiteAndTotalUnits(self.game, 1, 2)
def testStartPositionWhitePawnMovesBlockedFrontWhite(self): self.game.setUnitOnBoard(1, 1, self.pawnUnit) self.game.setUnitOnBoard(1, 2, Unit(PAWN, self.game.white)) calculatePossibleMoves(self.game, self.game.turn) assertExpectedMovesResults([], self.pawnUnit) assertNumberOfWhiteAndTotalUnits(self.game, 2, 2)
def testStartPositionBlackPawnMovesRightHit(self): self.game.setUnitOnBoard(1, 6, self.pawnUnit) self.game.setUnitOnBoard(0, 5, Unit(PAWN, self.game.white)) calculatePossibleMoves(self.game, self.game.turn) assertExpectedMovesResults(["05", "15", "14"], self.pawnUnit) assertNumberOfWhiteAndTotalUnits(self.game, 1, 2)