Ejemplo n.º 1
0
def test_special():
    # __contains__
    tree = IntTree.from_keys([10, 5, 8, 3, 20])
    assert 20 in tree
    assert 10 in tree
    assert 15 not in tree
    assert 1000 not in tree

    emtree = IntTree()
    assert 1 not in emtree

    # __nonzero__
    assert bool(tree)

    assert not bool(emtree)

    # __len__
    assert len(emtree) == 0
    assert len(tree) == 5
Ejemplo n.º 2
0
def test_intersect():
    t1 = IntTree.from_keys([1, 3, 5, 7, 9])
    t2 = IntTree.from_keys([3, 6, 7])
    t_intersect = t1.intersection(t2)
    assert list(t_intersect.traverse()) == [3,7]
Ejemplo n.º 3
0
def test_union():
    t1 = IntTree.from_keys([1, 3, 5, 7, 9])
    t2 = IntTree.from_keys([3,6,7])

    t_union = t1.union(t2)
    assert [x for x in t_union.traverse()] == [1,3,5,6,7,9] 
Ejemplo n.º 4
0
def test_ranges():
    tree = IntTree.from_keys([1,3,5,7,9,11,13,15])
    assert list(tree.getrange(5,11).traverse()) == [5,7,9]

    tree.delrange(5,11)
    assert list(tree.traverse()) == [1,3,11,13,15]