def aiMoveForPatternShouldBeIn(self, stones, expects): self.player = AIRenjuPlayer(white, RenjuBoard()) for s in stones: self.player.placeStones(parseStonePatternString(s)[0]) move = self.player.getMyMove() self.assertIn(move, [stop(e) for e in expects])
def testAIPlayerShouldWorkWithBlackStoneAsWell(self): player = AIRenjuPlayer(black, RenjuBoard(), self.FourInARowPattern) player.placeStones(parseStonePatternString('A0|OOOO_')[0]) move = player.getMyMove() self.assertEqual(move, stop('A0|____O'))
def testAIPlayerShouldChooseTheMoveWithHighestRank(self): player = AIRenjuPlayer(white, RenjuBoard(), dict(self.FourInARowPattern.items() + self.ThreeInARowPattern.items())) player.placeStones(parseStonePatternString('C0|XXXX_')[0]) player.placeStones(parseStonePatternString('G0|_XXX_')[0]) move = player.getMyMove() self.assertEqual(move, stop('C0|____O'))
def testAIPlayerShouldGiveThePatternRank(self): player = AIRenjuPlayer(white, RenjuBoard(), self.FourInARowPattern) player.placeStones(parseStonePatternString('A0|XXXX_')[0]) move = player.getMyMove() self.assertEqual(move, stop('A0|____O'))