def test_minimize_arrays_with_default_dtype_shape_strategies(): """Strategy with default scalar_dtypes and array_shapes strategies minimize to a boolean 1-dimensional array of size 1.""" smallest = minimal(xps.arrays(xps.scalar_dtypes(), xps.array_shapes())) assert smallest.shape == (1,) assert smallest.dtype == xp.bool assert not xp.any(smallest)
def test_minimize_large_uint_arrays(): """Strategy with uint dtype and largely sized shape minimizes to a good example.""" smallest = minimal( xps.arrays(xp.uint8, 100), lambda x: xp.any(x) and not xp.all(x), timeout_after=60, ) assert xp.all(xp.logical_or(smallest == 0, smallest == 1)) idx = xp.nonzero(smallest)[0] assert idx.size in (1, smallest.size - 1)
def test_may_fill_unique_arrays_with_nan(): """Unique strategy with NaN fill can generate arrays holding NaNs.""" find_any( xps.arrays( dtype=xp.float32, shape=10, elements=st.floats(allow_nan=False), unique=True, fill=st.just(xp.nan), ), lambda x: xp.any(xp.isnan(x)), )