Пример #1
0
def test_delete():
    t = trees['ivs1']()
    try:
        t.remove(Interval(1, 3, "Doesn't exist"))
    except ValueError:
        pass
    else:
        raise AssertionError("Expected ValueError")

    try:
        t.remove(Interval(500, 1000, "Doesn't exist"))
    except ValueError:
        pass
    else:
        raise AssertionError("Expected ValueError")

    orig = t.print_structure(True)
    t.discard(Interval(1, 3, "Doesn't exist"))
    t.discard(Interval(500, 1000, "Doesn't exist"))
    assert orig == t.print_structure(True)

    assert sdata(t[14]) == set(['[8,15)', '[14,15)'])
    t.remove(Interval(14, 15, '[14,15)'))
    assert sdata(t[14]) == set(['[8,15)'])
    t.verify()

    t.discard(Interval(8, 15, '[8,15)'))
    assert sdata(t[14]) == set()
    t.verify()

    assert t[5]
    t.remove_overlap(5)
    t.verify()
    assert not t[5]
Пример #2
0
def test_queries():
    t = trees['ivs1']()

    assert sdata(t[4]) == set(['[4,7)'])
    assert sdata(t[4:5]) == set(['[4,7)'])
    assert sdata(t[4:6]) == set(['[4,7)', '[5,9)'])
    assert sdata(t[9]) == set(['[6,10)', '[8,10)', '[8,15)'])
    assert sdata(t[15]) == set()
    assert sdata(t.search(5)) == set(['[4,7)', '[5,9)'])
    assert sdata(t.search(6, 11, strict=True)) == set(['[6,10)', '[8,10)'])
Пример #3
0
def test_insert_to_filled_tree():
    t = trees['ivs1']()
    orig = t.print_structure(True)  # original structure record

    assert sdata(t[1]) == set(['[1,2)'])
    t.add(Interval(1, 2, '[1,2)'))  # adding duplicate should do nothing
    assert sdata(t[1]) == set(['[1,2)'])
    assert orig == t.print_structure(True)

    t[1:2] = '[1,2)'                # adding duplicate should do nothing
    assert sdata(t[1]) == set(['[1,2)'])
    assert orig == t.print_structure(True)

    assert Interval(2, 4, '[2,4)') not in t
    t.add(Interval(2, 4, '[2,4)'))
    assert sdata(t[2]) == set(['[2,4)'])
    t.verify()

    t[13:15] = '[13,15)'
    assert sdata(t[14]) == set(['[8,15)', '[13,15)', '[14,15)'])
    t.verify()
Пример #4
0
def test_queries():
    t = trees['ivs1']()

    assert sdata(t[4]) == set(['[4,7)'])
    assert sdata(t[4:5]) == set(['[4,7)'])
    assert sdata(t[4:6]) == set(['[4,7)', '[5,9)'])
    assert sdata(t[9]) == set(['[6,10)', '[8,10)', '[8,15)'])
    assert sdata(t[15]) == set()
    assert sdata(t.search(5)) == set(['[4,7)', '[5,9)'])
    assert sdata(t.search(6, 11, strict=True)) == set(['[6,10)', '[8,10)'])
Пример #5
0
def test_insert_to_filled_tree():
    t = trees['ivs1']()
    orig = t.print_structure(True)  # original structure record

    assert sdata(t[1]) == set(['[1,2)'])
    t.add(Interval(1, 2, '[1,2)'))  # adding duplicate should do nothing
    assert sdata(t[1]) == set(['[1,2)'])
    assert orig == t.print_structure(True)

    t[1:2] = '[1,2)'  # adding duplicate should do nothing
    assert sdata(t[1]) == set(['[1,2)'])
    assert orig == t.print_structure(True)

    assert Interval(2, 4, '[2,4)') not in t
    t.add(Interval(2, 4, '[2,4)'))
    assert sdata(t[2]) == set(['[2,4)'])
    t.verify()

    t[13:15] = '[13,15)'
    assert sdata(t[14]) == set(['[8,15)', '[13,15)', '[14,15)'])
    t.verify()
Пример #6
0
def test_same_range_insert():
    t = trees['ivs1']()

    t.add(Interval(14, 15, '[14,15)####'))
    assert sdata(t[14]) == set(['[8,15)', '[14,15)', '[14,15)####'])
    t.verify()
Пример #7
0
def test_same_range_insert():
    t = trees['ivs1']()

    t.add(Interval(14, 15, '[14,15)####'))
    assert sdata(t[14]) == set(['[8,15)', '[14,15)', '[14,15)####'])
    t.verify()