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_columns(self): grid = Grid() for r in range(SCS.GRIDSIZE): for c in range(SCS.GRIDSIZE): square = grid.square(r, c) col = grid.Column(c) assert col._Contains(square) for r2 in range(SCS.GRIDSIZE): if r2 != r: assert col._Contains(grid.square(r2, c))
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