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())
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())