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