Пример #1
0
def test_interval_list_can_add_value(intervals: IntervalList):
    intervals.add(1)

    assert len(intervals) == 1
    assert 0 not in intervals
    assert 1 in intervals
    assert 2 not in intervals
Пример #2
0
def test_interval_list_can_handles_duplicate_entries_correctly(intervals: IntervalList):
    intervals.add(1)
    intervals.add(1)

    assert len(intervals) == 1
    assert 0 not in intervals
    assert 1 in intervals
    assert 2 not in intervals
Пример #3
0
def test_interval_list_has_equality_operator(intervals: IntervalList, other_intervals: IntervalList):
    assert intervals == other_intervals

    intervals.add(1)
    assert intervals != other_intervals

    other_intervals.add(1)
    assert intervals == other_intervals
Пример #4
0
def test_interval_list_can_add_continuous_blocks(intervals: IntervalList):
    intervals.add(1)
    intervals.add(2)

    assert len(intervals) == 2
    assert 0 not in intervals
    assert 1 in intervals
    assert 2 in intervals
    assert 3 not in intervals
Пример #5
0
def test_interval_list_can_grow_blocks_in_arbitrary_direction(intervals: IntervalList):
    intervals.add(1)
    intervals.add(2)
    intervals.add(0)

    assert len(intervals) == 3
    assert -1 not in intervals
    assert 0 in intervals
    assert 1 in intervals
    assert 2 in intervals
    assert 3 not in intervals
Пример #6
0
def test_interval_list_can_have_multiple_blocks(intervals: IntervalList):
    intervals.add(4)
    intervals.add(5)
    intervals.add(1)
    intervals.add(2)

    assert len(intervals) == 4
    assert 0 not in intervals
    assert 1 in intervals
    assert 2 in intervals
    assert 3 not in intervals
    assert 4 in intervals
    assert 5 in intervals
    assert 6 not in intervals
Пример #7
0
def test_interval_list_handles_arbitrary_insertion_order(intervals: IntervalList, other_intervals: IntervalList):
    test_set = set()
    for _ in range(100):
        n = randint(1,100)
        test_set.add(n)
        intervals.add(n)

    for n in test_set:
        other_intervals.add(n)

    assert len(intervals) == len(test_set)
    assert intervals == other_intervals
    for _ in range(200):
        n = randint(0,200)
        if n in test_set:
            assert n in intervals
        else:
            assert n not in intervals
Пример #8
0
def test_intervals_dont_overlap(intervals: IntervalList):
    intervals.add(1)
    intervals.add(2)
    intervals.add(4)
    intervals.add(5)
    intervals.add(3)
    intervals.add(4)

    assert len(intervals) == 5
Пример #9
0
def intervals():
    return IntervalList()
Пример #10
0
def other_intervals():
    return IntervalList()