Skip to content

Instantly share code, notes, and snippets.

@helgridly
Created December 1, 2014 00:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save helgridly/e148c42f2887a161d81c to your computer and use it in GitHub Desktop.
Save helgridly/e148c42f2887a161d81c to your computer and use it in GitHub Desktop.
Set of tests run on modified bx_python
from bx.intervals.intersection import IntervalTree, Interval
def tuplset( ilist ):
return set([ (i.start, i.end) for i in ilist ])
tree = IntervalTree()
tree.insert_interval( Interval(1,1) )
assert tree.find(1,1) == [Interval(1,1)]
assert tree.find(1,2) == [Interval(1,1)]
assert tree.find(0,1) == [Interval(1,1)]
assert tree.find(0,2) == [Interval(1,1)]
assert tree.find(0,0) == []
assert tree.find(2,3) == []
tree.insert_interval( Interval(10,11) )
assert tree.find(10,10) == [Interval(10,11)]
assert tree.find(11,11) == [Interval(10,11)]
assert tree.find(10,11) == [Interval(10,11)]
assert tree.find(10,12) == [Interval(10,11)]
assert tree.find(11,12) == [Interval(10,11)]
assert tree.find(9,10) == [Interval(10,11)]
assert tree.find(9,11) == [Interval(10,11)]
assert tree.find(9,12) == [Interval(10,11)]
assert tree.find(9,9) == []
assert tree.find(8,9) == []
assert tree.find(12,12) == []
assert tree.find(12,13) == []
tree.insert_interval( Interval(20,22) )
assert tree.find(20,20) == [Interval(20,22)]
assert tree.find(21,21) == [Interval(20,22)]
assert tree.find(22,22) == [Interval(20,22)]
assert tree.find(20,21) == [Interval(20,22)]
assert tree.find(21,22) == [Interval(20,22)]
assert tree.find(20,22) == [Interval(20,22)]
assert tree.find(20,23) == [Interval(20,22)]
assert tree.find(19,20) == [Interval(20,22)]
assert tree.find(19,21) == [Interval(20,22)]
assert tree.find(19,22) == [Interval(20,22)]
assert tree.find(19,23) == [Interval(20,22)]
assert tree.find(19,19) == []
assert tree.find(23,23) == []
assert tree.find(23,25) == []
tree.insert_interval( Interval(30, 32) )
tree.insert_interval( Interval(33, 34) )
tree.insert_interval( Interval(35, 35) )
assert tuplset(tree.find(30,33)) == tuplset( [Interval(30,32), Interval(33,34) ] )
assert tuplset(tree.find(32,33)) == tuplset( [Interval(30,32), Interval(33,34) ] )
assert tuplset(tree.find(32,34)) == tuplset( [Interval(30,32), Interval(33,34) ] )
assert tuplset(tree.find(34,35)) == tuplset( [Interval(33,34), Interval(35,35) ] )
assert tuplset(tree.find(33,35)) == tuplset( [Interval(33,34), Interval(35,35) ] )
assert tuplset(tree.find(33,36)) == tuplset( [Interval(33,34), Interval(35,35) ] )
assert tuplset(tree.find(32,35)) == tuplset( [Interval(30,32), Interval(33,34), Interval(35,35) ] )
assert tuplset(tree.find(29,36)) == tuplset( [Interval(30,32), Interval(33,34), Interval(35,35) ] )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment