def test_init(self): """Tests the initialization of a GameState""" GameStateTest.G.add_edge(0, 1) state = GameState(GameStateTest.G) self.assertEquals(state.turn, labels.RED) self.assertFalse(state.is_gameover()) self.assertFalse(state.is_terminal())
def test_gameover_state(self): """Tests proper gameover state.""" state = GameState(GameStateTest.G) state.make_move(0) state.make_move(1) state.make_move(2) self.assertEquals(state.turn, labels.RED) self.assertTrue(state.is_gameover()) self.assertTrue(state.is_terminal())
def test_terminal_state(self): """Tests proper terminal state.""" GameStateTest.G.add_edge(0, 1) GameStateTest.G.add_node(3) GameStateTest.G.add_edge(2, 3) state = GameState(GameStateTest.G) self.assertEquals(state.turn, labels.RED) state.make_move(0) state.alternate_turn() state.make_move(2) self.assertFalse(state.is_gameover()) self.assertTrue(state.is_terminal())
def test_normal_play(self): """Tests a normal game.""" state = GameState(GameStateTest.G) self.assertEquals(state.turn, labels.RED) state.make_move(0) self.assertFalse(state.check_gameover) state.alternate_turn() self.assertEquals(state.turn, labels.BLUE) state.make_move(1) self.assertFalse(state.check_gameover) state.alternate_turn() self.assertEquals(state.turn, labels.RED) state.make_move(2) self.assertTrue(state.check_gameover) state.alternate_turn() self.assertEquals(state.turn, labels.BLUE) self.assertTrue(state.is_gameover()) self.assertTrue(state.is_terminal()) self.assertEquals(state.winner, labels.RED)