Example #1
0
 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())
Example #2
0
 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())
Example #3
0
    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())
Example #4
0
    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)