Ejemplo n.º 1
0
    def test_open_cell(self):
        field = Field((4, 3), {(0, 0), (2, 0)})

        state1 = GameState(field)

        self.assertTrue(state1.open_cell((10, 10)))
        self.assertEqual(GameState(field), state1)

        self.assertTrue(state1.open_cell((3, 2)))
        self.assertEqual(4, state1.unmarked_cells())
        self.assertSetEqual(
            {state1.get_state((x, y)) for x in (0, 1, 2, 3) for y in (1, 2)},
            {CellState.OPENED})

        self.assertFalse(state1.open_cell((0, 0)))
        self.assertEqual(4, state1.unmarked_cells())

        state2 = GameState(field)
        state2.set_flag((2, 2))
        self.assertTrue(state2.open_cell((3, 2)))
        self.assertEqual(8, state2.unmarked_cells())
        self.assertSetEqual(
            {state2.get_state((x, y)) for x in (2, 3) for y in (1, 2)},
            {CellState.OPENED, CellState.FLAG})

        self.assertTrue(state2.open_cell((2, 2)))
        self.assertEqual(8, state2.unmarked_cells())
Ejemplo n.º 2
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())