def test_find_large_union_list(): def large_mostly_non_overlapping(xs): assume(xs) assume(all(xs)) union = reduce(operator.or_, xs) return len(union) >= 30 result = minimal(lists(sets(integers())), large_mostly_non_overlapping, timeout_after=30) union = reduce(operator.or_, result) assert len(union) == 30 assert max(union) == min(union) + len(union) - 1 for x in result: for y in result: if x is not y: assert not (x & y)
def test_find_large_union_list(): def large_mostly_non_overlapping(xs): assume(xs) assume(all(xs)) union = reduce(operator.or_, xs) return len(union) >= 50 result = minimal([{int}], large_mostly_non_overlapping, timeout_after=30) union = reduce(operator.or_, result) assert len(union) == 50 assert union == set(range(min(union), max(union) + 1)) for x in result: for y in result: if x is not y: assert not (x & y)
def test_find_large_union_list(): def large_mostly_non_overlapping(xs): assume(xs) assume(all(xs)) union = reduce(operator.or_, xs) return len(union) >= 30 result = minimal([{int}], large_mostly_non_overlapping, timeout_after=30) union = reduce(operator.or_, result) assert len(union) == 30 assert max(union) == min(union) + len(union) - 1 for x in result: for y in result: if x is not y: assert not (x & y)
def large_mostly_non_overlapping(xs): assume(xs) assume(all(xs)) union = reduce(operator.or_, xs) return len(union) >= 30
def __init__(self, element_strategy, shape, dtype): self.shape = tuple(shape) assert shape self.array_size = reduce(operator.mul, shape) self.dtype = dtype self.element_strategy = element_strategy