Beispiel #1
0
def test_deepcopy_collapses_reference_equality():
    x = IntSet.from_iterable([1, 2, 3])
    y = IntSet.from_iterable([1, 2, 3])
    z = IntSet.from_iterable([1, 2, 3, 4])
    assert x == y
    assert x is not y
    w, u, v = deepcopy((x, y, z))
    assert x == w
    assert y == u
    assert z == v
    assert w is u
    assert w is not v
Beispiel #2
0
def test_trying_to_pass_extra_args_to_intset_errors():
    with pytest.raises(TypeError):
        IntSet.from_iterable(1, 2)
Beispiel #3
0
def test_instantiating_with_a_collection_gives_that_collection(xs):
    ts = IntSet.from_iterable(xs)
    assert len(ts) == len(xs)
    assert set(ts) == xs
Beispiel #4
0
@example(set())
@example(set([1, 2, 3]))
@given(st.sets(integers_in_range))
def test_instantiating_with_a_collection_gives_that_collection(xs):
    ts = IntSet.from_iterable(xs)
    assert len(ts) == len(xs)
    assert set(ts) == xs


def test_trying_to_pass_extra_args_to_intset_errors():
    with pytest.raises(TypeError):
        IntSet.from_iterable(1, 2)


@example(IntSet.from_iterable([]), 1)
@example(IntSet.from_iterable([]), -1)
@example(IntSet.from_iterable([0]), -2)
@example(IntSet.from_iterable([0]), 2)
@given(IntSets, st.integers())
def test_raises_index_error_out_of_bounds(x, i):
    assume(abs(i) > x.size())
    with pytest.raises(IndexError):
        x[i]


SmallIntSets = st.builds(
    IntSet.from_intervals,
    st.lists(short_intervals,
             average_size=5)).filter(lambda x: x.size() <= SMALL)
Beispiel #5
0
def test_iterable_equivalent_to_intervals_of_length_one(xs):
    assert IntSet.from_iterable(xs) == \
        IntSet.from_intervals((x, x + 1) for x in xs)
Beispiel #6
0
def test_iterable_equivalent_to_intervals_of_length_one(xs):
    assert IntSet.from_iterable(xs) == \
        IntSet.from_intervals((x, x + 1) for x in xs)