def __init__(self): self.board = Board.createEmptyBoard37() # TODO maybe factory method instead of @classmethod ? self.balls = BallContainer() self.balls.add(BallColors.WHITE, 6) self.balls.add(BallColors.GRAY, 8) self.balls.add(BallColors.BLACK, 10) self.players = {Players.PLY1: BallContainer(), Players.PLY2: BallContainer()} self.currPlayer = Players.PLY1
def test_createEmptyBoard(self): b = Board.createEmptyBoard37() self.assertIsNotNone(b) self.assertEquals(FieldState.EMPTY, b.getState("a4")) self.assertEquals(FieldState.EMPTY, b.getState("b5")) self.assertEquals(FieldState.EMPTY, b.getState("c6")) self.assertEquals(FieldState.EMPTY, b.getState("d7")) self.assertEquals(FieldState.EMPTY, b.getState("e6")) self.assertEquals(FieldState.EMPTY, b.getState("f5")) self.assertEquals(FieldState.EMPTY, b.getState("g4"))
def test_simpleActions(self): b = Board.createEmptyBoard37() b.putBall("a1", BallColors.BLACK) b.putBall("b1", BallColors.BLACK) self.assertEquals(FieldState.BLACK, b.getState("a1")) x = b.removePiece("a2") self.assertEquals(FieldState.BLACK, b.getState("a1")) self.assertEquals(FieldState.REMOVED, b.getState("a2")) self.assertEquals(FieldState.EMPTY, x) b.captureOneBall("a1", "c1") self.assertEquals(FieldState.EMPTY, b.getState("a1")) self.assertEquals(FieldState.BLACK, b.getState("c1")) self.assertEquals(FieldState.EMPTY, b.getState("b2")) # no side effect self.assertEquals(FieldState.REMOVED, b.getState("a2")) # no side effect