Example #1
0
 def test_init_state(self):
     field = Field((2, 2), {(0, 0), (1, 1)})
     state = GameState(field)
     self.assertEqual(0, state.flags())
     self.assertEqual(4, state.unmarked_cells())
     for cell in ((0, 0), (1, 0), (0, 1), (1, 1)):
         self.assertEqual(CellState.UNKNOWN, state.get_state(cell))
     self.assertFalse(state.check_win())
Example #2
0
    def test_win(self):
        state = GameState(Field((4, 3), {(0, 0), (2, 0)}))
        self.assertFalse(state.check_win())

        state.set_flag((0, 0))
        state.set_flag((2, 0))
        self.assertFalse(state.check_win())
        state.unset_flag((0, 0))
        state.unset_flag((2, 0))

        state.open_cell((2, 2))
        self.assertFalse(state.check_win())

        state.set_flag((0, 0))
        state.open_cell((1, 0))
        state.open_cell((3, 0))
        self.assertFalse(state.check_win())

        state.set_flag((2, 0))
        self.assertTrue(state.check_win())