Example #1
0
 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)))
Example #3
0
 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
Example #5
0
    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()
     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_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'])
Example #8
0
 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'])