Example #1
0
    def test_has_possible_val(self):

        test_set = frozenset({2, 3, 4})
        c = Cell(9, 0, 0, poss_vals=test_set)

        for i in range(1, 10):
            self.assertEqual(i in test_set, c.has_possible_val(i))

        test_set = {1, 2, 3, 4, 5, 6, 7, 8, 9}
        c = Cell(9, 0, 0)

        for i in range(1, 10):
            self.assertEqual(i in test_set, c.has_possible_val(i))

        # Test outside of range.
        self.assertFalse(c.has_possible_val(0))
        self.assertFalse(c.has_possible_val(-1))
        self.assertFalse(c.has_possible_val(10))
Example #2
0
def _clear_possible_action(board: Board, mod_cell: Cell, value: int):
    if mod_cell.is_initial():
        return

    if mod_cell.value() is not None:
        return

    if mod_cell.has_possible_val(value):
        new_cell = mod_cell.clear_possible_value(value)
        board.set_cell(new_cell)