def test_grid_allowed_values_rowcolblk(self): grid = Grid() square = grid.square(2, 3) square.value = 5 self._testing_influencing_squares(square, 5, False, grid.Row(2)) self._testing_influencing_squares(square, 5, False, grid.Column(3)) self._testing_influencing_squares(square, 5, False, grid.BlockFromSquare(2, 3)) square.clear() self._testing_influencing_squares(square, 5, True, grid.Row(2)) self._testing_influencing_squares(square, 5, True, grid.Column(3)) self._testing_influencing_squares(square, 5, True, grid.BlockFromSquare(2, 3))
def test_grid_rows(self): grid = Grid() for r in range(SCS.GRIDSIZE): for c in range(SCS.GRIDSIZE): square = grid.square(r, c) row = grid.Row(r) assert row._Contains(square) for c2 in range(SCS.GRIDSIZE): if c2 != c: assert row._Contains(grid.square(r, c2))
def IsValidValues(self, grid: Grid): for r in range(grid.nRows): if not self._squaresValidator.IsValidValues(grid.Row(r)): return False for c in range(grid.nCols): if not self._squaresValidator.IsValidValues(grid.Column(c)): return False for brow in range(grid.nBlockRows): for bcol in range(grid.nBlockCols): if not self._squaresValidator.IsValidValues( grid.Block(brow, bcol)): return False return True
def IsCompleteValues(self, grid: Grid): for r in range(grid.nRows): if not self._squaresValidator.IsCompleteValues(grid.Row(r)): return False return True