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_block(self): grid = Grid() for r in range(SCS.GRIDSIZE): for c in range(SCS.GRIDSIZE): square = grid.square(r, c) blk = grid.BlockFromSquare(r, c) assert blk._Contains(square) assert grid.sqRow(square) == r assert grid.sqCol(square) == c assert grid.sqBlock(square) == blk r0 = (r // SCS.BLOCKSIZE) * SCS.BLOCKSIZE c0 = (c // SCS.BLOCKSIZE) * SCS.BLOCKSIZE for r2 in range(r0, r0 + SCS.BLOCKSIZE): for c2 in range(c0, c0 + SCS.BLOCKSIZE): if r2 != r or c2 != c: assert blk._Contains(grid.square(r2, c2))