def setUp(self): iv = IntervalTree() iv.add_interval(IntervalObj(50, 59)) for i in range(0, 110, 10): if i == 50: continue f = IntervalObj(i, i + 9) iv.add_interval(f) self.intervals = iv
def test_empty(self): iv = IntervalTree() self.assertEqual([], iv.find(100, 300)) self.assertEqual([], iv.after(100)) self.assertEqual([], iv.before(100)) self.assertEqual([], iv.after_interval(100)) self.assertEqual([], iv.before_interval(100)) self.assertEqual([], iv.upstream_of_interval(100)) self.assertEqual([], iv.downstream_of_interval(100)) self.assertEqual(None, iv.traverse(lambda x: x.append(1)))
def setUp(self): iv = IntervalTree() n = 0 for i in range(1, 1000, 80): iv.insert(i, i + 10, dict(value=i * i)) # add is synonym for insert. iv.add(i + 20, i + 30, dict(astr=str(i * i))) # or insert/add an interval object with start, end attrs. iv.insert_interval( IntervalObj(i + 40, i + 50, value=dict(astr=str(i * i)))) iv.add_interval( IntervalObj(i + 60, i + 70, value=dict(astr=str(i * i)))) n += 4 self.intervals = self.iv = iv self.nintervals = n
def setUp(self): iv = IntervalTree() n = 0 for i in range(1, 1000, 80): iv.insert(i, i + 10, dict(value=i*i)) # add is synonym for insert. iv.add(i + 20, i + 30, dict(astr=str(i*i))) # or insert/add an interval object with start, end attrs. iv.insert_interval(IntervalObj(i + 40, i + 50, value=dict(astr=str(i*i)))) iv.add_interval(IntervalObj(i + 60, i + 70, value=dict(astr=str(i*i)))) n += 4 self.intervals = self.iv = iv self.nintervals = n
def test_edge_cases(self): iv = IntervalTree() iv.insert(1, 1, 'foo') iv.insert(3, 7, 'spam') iv.insert(8, 8, 'abc') self.assertEqual(iv.find(0, 1), []) self.assertEqual(iv.find(1, 1), ['foo']) self.assertEqual(iv.find(1, 2), ['foo']) self.assertEqual(iv.find(2, 3), []) self.assertEqual(iv.find(3, 3), ['spam']) self.assertEqual(iv.find(3, 4), ['spam']) self.assertEqual(iv.find(6, 7), ['spam']) self.assertEqual(iv.find(7, 7), []) self.assertEqual(iv.find(0, 8), ['foo', 'spam']) self.assertEqual(iv.find(8, 8), ['abc']) self.assertEqual(iv.find(8, 9), ['abc']) self.assertEqual(iv.find(9, 9), []) self.assertEqual(iv.find(0, 10), ['foo', 'spam', 'abc']) self.assertEqual(iv.find(6, 10), ['spam', 'abc']) self.assertEqual(iv.find(7, 9), ['abc'])