def test():
    m = TreeMap(none_low)

    m.put('a', 'A')
    m.put('b', 'B')
    m.put('c', 'C')

    assert m.to_string() == '{a=A, b=B, c=C}'
    assert m.head_map('b').to_string() == '{a=A}'
    assert m.tail_map('b').to_string() == '{b=B, c=C}'
    assert m.head_map(None).to_string() == '{}'
    assert m.tail_map(None).to_string() == '{a=A, b=B, c=C}'

    m = TreeMap(none_high)

    m.put('a', 'A')
    m.put('b', 'B')
    m.put('c', 'C')

    assert m.to_string() == '{a=A, b=B, c=C}'
    assert m.head_map('b').to_string() == '{a=A}'
    assert m.tail_map('b').to_string() == '{b=B, c=C}'
    assert m.head_map(None).to_string() == '{a=A, b=B, c=C}'
    assert m.tail_map(None).to_string() == '{}'

    m.put(None, 'NONE')

    assert m.to_string() == '{a=A, b=B, c=C, None=NONE}'
    assert m.head_map('b').to_string() == '{a=A}'
    assert m.tail_map('b').to_string() == '{b=B, c=C, None=NONE}'
    assert m.head_map(None).to_string() == '{a=A, b=B, c=C}'
    assert m.tail_map(None).to_string() == '{None=NONE}'
Пример #2
0
    def test_main(self):
        m = TreeMap()
        self.test_navigable_map_removers(m)
        self.test_navigable_map(m)
        self.test_navigable_map(m.head_map(6, False))
        self.test_navigable_map(m.head_map(5, True))
        self.test_navigable_map(m.tail_map(0, False))
        self.test_navigable_map(m.tail_map(1, True))
        self.test_navigable_map(m.sub_map(1, 6, True, False))
        self.test_navigable_map(m.sub_map(0, 5, False, True))

        self.check_functional_invariants(m)

        m.clear()

        assert m.put(3333, 77777) is None
        assert m.put(9134, 74982) is None
        assert m.get(9134) == 74982
        assert m.put(9134, 1382) == 74982
        assert m.get(9134) == 1382
        assert m.size() == 2
        self.check_functional_invariants(m)