Example #1
0
def test_empty():
    assert i.open(1, 1).empty()
    assert i.open(3, 3).empty()
    assert i.openclosed(3, 3).empty()
    assert i.closedopen(3, 3).empty()
    assert not i.open(3, 4).empty()
    assert not i.openclosed(3, 4).empty()
Example #2
0
def test_empty():
    assert i.open(1, 1).empty()
    assert i.open(3, 3).empty()
    assert i.openclosed(3, 3).empty()
    assert i.closedopen(3, 3).empty()
    assert not i.open(3, 4).empty()
    assert not i.openclosed(3, 4).empty()
Example #3
0
def test_complement_open():
    unit = i.open(0, 1)
    complement = unit.complement()
    (lower_interval,
     upper_interval) = sorted(complement)  # an IntervalSet is not sorted
    assert lower_interval == i.openclosed(i.NEGATIVE_INFINITY, 0)
    assert upper_interval == i.closedopen(1, i.INFINITY)
Example #4
0
def test_complement_whole():
    whole = i.open(i.NEGATIVE_INFINITY, i.INFINITY)
    (lower_interval, upper_interval) = sorted(
        whole.complement())  # an IntervalSet is not sorted
    assert lower_interval == i.openclosed(i.NEGATIVE_INFINITY,
                                          i.NEGATIVE_INFINITY)
    assert upper_interval == i.closedopen(i.INFINITY, i.INFINITY)
def test_non_equality():
    small, medium = get_intervals()[:2]
    assert small != medium
    assert small != i.openclosed(1, 5)
    assert small != i.closedopen(1, 5)
    assert small != i.closed(1, 5)
    assert small != i.Interval(i.Interval.OPEN, 1, 7, i.Interval.OPEN)
    assert small != i.open(100, 288)
def test_non_equality():
    small, medium = get_intervals()[:2]
    assert small != medium
    assert small != i.openclosed(1,5)
    assert small != i.closedopen(1,5)
    assert small != i.closed(1,5)
    assert small != i.Interval(i.Interval.OPEN, 1, 7, i.Interval.OPEN)
    assert small != i.open(100, 288)
Example #7
0
def test_subtract_overlapping():
    left = IntervalSet((i.open(1, 4), i.open(5, 10)))
    right = IntervalSet((i.open(0, 2), i.open(6, 8)))
    expected = IntervalSet((
        i.closedopen(2, 4),
        i.openclosed(5, 6),
        i.closedopen(8, 10),
    ))
    assert left - right == expected
Example #8
0
def test_subtract_overlapping():
    left = IntervalSet((i.open(1, 4), i.open(5, 10)))
    right = IntervalSet((i.open(0, 2), i.open(6, 8)))
    expected = IntervalSet((
        i.closedopen(2, 4),
        i.openclosed(5, 6),
        i.closedopen(8, 10),
    ))
    assert left - right == expected
def test_openclosed_interval_construction_using_helper():
    expected_lower = i.Interval.OPEN
    expectedlower_value = 10
    expected_upper_value = 100
    expected_upper = i.Interval.CLOSED
    result = i.openclosed(10, 100)
    assert result._lower == expected_lower
    assert result.lower_value == expectedlower_value
    assert result._upper_value == expected_upper_value
    assert result._upper == expected_upper
Example #10
0
def test_complement():
    one = i.open(3, 6)
    two = i.open(7, 10)
    intervals = IntervalSet([one, two])
    complement = intervals.complement()
    (lower, middle, upper) = sorted(complement)  # an IntervalSet is not sorted

    assert lower == i.openclosed(i.NEGATIVE_INFINITY, 3)
    assert middle == i.closed(6, 7)
    assert upper == i.closedopen(10, i.INFINITY)
Example #11
0
def test_complement():
    one = i.open(3, 6)
    two = i.open(7, 10)
    intervals = IntervalSet([one, two])
    complement = intervals.complement()
    (lower, middle, upper) = sorted(complement)  # an IntervalSet is not sorted

    assert lower == i.openclosed(i.NEGATIVE_INFINITY, 3)
    assert middle == i.closed(6, 7)
    assert upper == i.closedopen(10, i.INFINITY)
def test_openclosed_interval_construction_using_helper():
    expected_lower = i.Interval.OPEN
    expectedlower_value = 10
    expected_upper_value = 100
    expected_upper = i.Interval.CLOSED
    result = i.openclosed(10, 100)
    assert result.lower == expected_lower
    assert result.lower_value == expectedlower_value
    assert result.upper_value == expected_upper_value
    assert result.upper == expected_upper
Example #13
0
def test_intersection_of_overlapping():
    first = IntervalSet((i.open(1, 5), i.closed(7, 10)))
    second = IntervalSet((i.open(8, 21), i.closed(22, 23)))
    expected = IntervalSet((i.openclosed(8, 10), ))
    result = first.intersection(second)
    assert result == expected
Example #14
0
def test_interval_copy():
    assert i.open(1, 4).copy() == i.open(1, 4)
    assert i.openclosed(1, 4).copy() == i.openclosed(1, 4)
    assert i.closedopen(1, 4).copy() == i.closedopen(1, 4)
    assert i.closed(1, 4).copy() == i.closed(1, 4)
Example #15
0
def test_overlaps():
    assert i.open(1, 4).overlaps(i.open(3, 6))
    assert i.open(3, 6).overlaps(i.open(1, 4))
    assert i.openclosed(1, 4).overlaps(i.open(3, 6))
Example #16
0
def test_complement_open():
    unit = i.open(0, 1)
    complement = unit.complement()
    (lower_interval, upper_interval) = sorted(complement)  # an IntervalSet is not sorted
    assert lower_interval == i.openclosed(i.NEGATIVE_INFINITY, 0)
    assert upper_interval == i.closedopen(1, i.INFINITY)
Example #17
0
def test_subtract_overlapping_end():
    left = i.open(1, 10)
    right = i.open(5, 10)
    expected = i.openclosed(1, 5)
    assert left - right == expected
Example #18
0
def test_subtract_interval_from_interval_set():
    left = IntervalSet((i.open(1, 4), i.open(5, 10)))
    right = i.open(8, 15)
    expected = IntervalSet((i.open(1, 4), i.openclosed(5, 8)))
    assert left - right == expected
def test_contains_self_open_closed():
    small = i.openclosed(1, 5)
    medium = i.openclosed(1, 10)
    assert small in small
    assert medium not in small
    assert small in medium
Example #20
0
def test_repr():
    assert repr(i.open(1, 2)) == '(1, 2)'
    assert repr(i.openclosed(1, 2)) == '(1, 2]'
    assert repr(i.closed(1, 2)) == '[1, 2]'
    assert repr(i.closedopen(1, 2)) == '[1, 2)'
Example #21
0
def test_subtract_overlapping():
    left = i.open(3, 6)
    right = i.open(4, 8)
    expected = i.openclosed(3, 4)
    assert left - right == expected
Example #22
0
def test_subtract_interval_from_interval_set():
    left = IntervalSet((i.open(1, 4), i.open(5, 10)))
    right = i.open(8, 15)
    expected = IntervalSet((i.open(1, 4), i.openclosed(5, 8)))
    assert left - right == expected
Example #23
0
def test_replace():
    assert i.open(1, 4).replace(upper_value=5) == i.open(1, 5)
    assert i.open(1, 4).replace(upper=i.Interval.CLOSED) == i.openclosed(1, 4)
    assert i.open(1, 4).replace(lower=i.Interval.CLOSED) == i.closedopen(1, 4)
    assert i.open(1, 4).replace(lower_value=0) == i.open(0, 4)
Example #24
0
def test_subtract_overlapping():
    left = i.open(3, 6)
    right = i.open(4, 8)
    expected = i.openclosed(3, 4)
    assert left - right == expected
Example #25
0
def test_subtract_overlapping_end():
    left = i.open(1, 10)
    right = i.open(5, 10)
    expected = i.openclosed(1, 5)
    assert left - right == expected
Example #26
0
def test_subtract_contained():
    left = i.open(3, 6)
    right = i.open(4, 5)
    expected = IntervalSet([i.openclosed(3, 4), i.closedopen(5, 6)])
    assert left - right == expected
Example #27
0
def test_subtract_contained():
    left = i.open(3, 6)
    right = i.open(4, 5)
    expected = IntervalSet([i.openclosed(3, 4), i.closedopen(5, 6)])
    assert left - right == expected
Example #28
0
def test_replace():
    assert i.open(1, 4).replace(upper_value=5) == i.open(1, 5)
    assert i.open(1, 4).replace(upper=i.Interval.CLOSED) == i.openclosed(1, 4)
    assert i.open(1, 4).replace(lower=i.Interval.CLOSED) == i.closedopen(1, 4)
    assert i.open(1, 4).replace(lower_value=0) == i.open(0, 4)
Example #29
0
def test_overlaps():
    assert i.open(1, 4).overlaps(i.open(3, 6))
    assert i.open(3, 6).overlaps(i.open(1, 4))
    assert i.openclosed(1, 4).overlaps(i.open(3, 6))
Example #30
0
def test_repr():
    assert repr(i.open(1, 2)) == '(1, 2)'
    assert repr(i.openclosed(1, 2)) == '(1, 2]'
    assert repr(i.closed(1, 2)) == '[1, 2]'
    assert repr(i.closedopen(1, 2)) == '[1, 2)'
Example #31
0
def test_overlaps_touching():
    assert not i.openclosed(1, 4).overlaps(i.openclosed(4, 5))
    assert not i.closedopen(1, 4).overlaps(i.closedopen(4, 5))
    assert not i.open(1, 4).overlaps(i.open(4, 5))
    assert i.closed(1, 4).overlaps(i.closed(4, 5))
Example #32
0
def test_overlaps_touching():
    assert not i.openclosed(1, 4).overlaps(i.openclosed(4, 5))
    assert not i.closedopen(1, 4).overlaps(i.closedopen(4, 5))
    assert not i.open(1, 4).overlaps(i.open(4, 5))
    assert i.closed(1, 4).overlaps(i.closed(4, 5))
Example #33
0
def test_interval_copy():
    assert i.open(1, 4).copy() == i.open(1, 4)
    assert i.openclosed(1, 4).copy() == i.openclosed(1, 4)
    assert i.closedopen(1, 4).copy() == i.closedopen(1, 4)
    assert i.closed(1, 4).copy() == i.closed(1, 4)
Example #34
0
def test_intersection_of_overlapping():
    first = IntervalSet((i.open(1, 5), i.closed(7, 10)))
    second = IntervalSet((i.open(8, 21), i.closed(22,23)))
    expected = IntervalSet((i.openclosed(8, 10), ))
    result = first.intersection(second)
    assert result == expected
def test_contains_self_open_closed():
    small = i.openclosed(1, 5)
    medium = i.openclosed(1, 10)
    assert small in small
    assert medium not in small
    assert small in medium