Esempio n. 1
0
def test_subsequence_min_size_constraint(data, seq):
    min_size_strat = st.integers(min_value=0, max_value=len(seq))
    min_size = data.draw(min_size_strat)

    sub_seq_strat = st.subsequence_of(seq, min_size=min_size)
    sub_seq = data.draw(sub_seq_strat)

    assert len(sub_seq) >= min_size
Esempio n. 2
0
def test_subsequence_original_elements_not_over_produced(data, seq):
    sub_seq_strat = st.subsequence_of(seq)
    sub_seq = data.draw(sub_seq_strat)

    # Per unique item, check that they don't occur in the subsequence
    # more times that they appear in the source.
    for item in set(sub_seq):
        assert sub_seq.count(item) <= seq.count(item)
Esempio n. 3
0
def test_subsequence_only_original_elements(data, seq):
    sub_seq_strat = st.subsequence_of(seq)
    sub_seq = data.draw(sub_seq_strat)

    assert isinstance(sub_seq, list)
    assert len(sub_seq) <= len(seq)
Esempio n. 4
0
def test_subsequence_elements_not_over_drawn(data, seq):
    sub_seq_strat = st.subsequence_of(seq)
    sub_seq = data.draw(sub_seq_strat)

    assert not (set(sub_seq) - set(seq))
Esempio n. 5
0
def test_subsequence_sizing(data, seq):
    sub_seq_strat = st.subsequence_of(seq)
    sub_seq = data.draw(sub_seq_strat)

    assert isinstance(sub_seq, list)
    assert len(sub_seq) <= len(seq)