-
Notifications
You must be signed in to change notification settings - Fork 113
/
Copy pathfirst_before_after_test.py
45 lines (42 loc) · 1.4 KB
/
first_before_after_test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
from __future__ import absolute_import
from intervaltree import Interval, IntervalTree
import pytest
from test.intervaltrees import trees, sdata
def test_first_after():
t = trees['ivs1']()
assert t.first_after(7) in [
Interval(8, 10, '[8,10)'),
Interval(8, 15, '[8,15)'),
]
assert t.first_after(8) in [
Interval(8, 10, '[8,10)'),
Interval(8, 15, '[8,15)'),
]
assert t.first_after(13) == Interval(14, 15, '[14,15)')
assert t.first_after(4) == Interval(4, 7, '[4,7)')
assert t.first_after(5) == Interval(5, 9, '[5,9)')
assert t.first_after(-100) == Interval(1, 2, '[1,2)')
try:
iv = t.first_after(15)
except Exception as e:
assert isinstance(e, ValueError)
else:
assert False, iv
def test_first_before():
t = trees['ivs1']()
assert t.first_before(5) == Interval(1, 2, '[1,2)')
assert t.first_before(7) == Interval(4, 7, '[4,7)')
assert t.first_before(10) in [
Interval(6, 10, '[6,10)'),
Interval(8, 10, '[8,10)'),
]
assert t.first_before(15) == Interval(14, 15, '[14,15)')
assert t.first_before(100) == Interval(14, 15, '[14,15)')
try:
iv = t.first_before(1)
except Exception as e:
assert isinstance(e, ValueError)
else:
assert False, iv
if __name__ == "__main__":
pytest.main([__file__, '-v'])