Ejemplo n.º 1
0
    def test_base_keys(self):

        t = Treect()
        t['a'] = 1
        t[2] = 22

        assert t['a'] == 1
        assert t[2] == 22
        assert 1 == t.get('a')
        assert 22 == t.get(2)
        assert t.get('non-existent-key') is None
Ejemplo n.º 2
0
    def test_first_level(self):

        t = Treect()
        t['a/b'] = 1
        t['a/2'] = 22

        assert t['a/b'] == 1
        assert t['a/2'] == 22
        assert 1 == t.get('a/b')
        assert 22 == t.get('a/2')
        assert isinstance(t.get('a'), Treect)
        assert isinstance(t['a'], Treect)
        assert t.get('a')['b'] == 1
        assert t.get('a')['2'] == 22

        try:
            ne = t['non-existent-bucket']
            assert False
        except KeyError:
            pass
Ejemplo n.º 3
0
    def test_many_levels(self):

        t = Treect()
        t['a/b/c/d/e'] = 1

        assert t['a/b/c/d/e'] == 1
        assert 1 == t.get('a/b/c/d/e')
        assert isinstance(t.get('a'), Treect)
        assert isinstance(t['a'], Treect)
        assert isinstance(t['a'].get('b'), Treect)
        assert isinstance(t['a']['b']['c'], Treect)
        assert isinstance(t.get('a').get('b').get('c').get('d'), Treect)
        assert t.get('a')['b/c/d/e'] == 1
        assert t.get('a')['b/c']['d/e'] == 1
        assert t.get('a').get('b')['c/d/e'] == 1
        assert t.get('a').get('b').get('c')['d/e'] == 1
        assert t.get('a').get('b').get('c').get('d')['e'] == 1
Ejemplo n.º 4
0
    def test_compare(self):

        t = Treect()
        t['a/b/c/d/e'] = 1
        t['b'] = 2
        t['c'] = 3
        t['d'] = 4
        t['e'] = 5
        t['2/b'] = 2
        t['2/c'] = 3
        t['2/d'] = 4
        t['2/e'] = 5

        t2 = Treect()
        t2['b'] = 2
        t2['c'] = 3
        t2['d'] = 4
        t2['e'] = 5

        t3 = Treect()
        t3['a/b/c/d/e'] = 1
        t3['b'] = 2
        t3['c'] = 3
        t3['d'] = 4
        t3['e'] = 5
        t3['2/b'] = 2
        t3['2/c'] = 3
        t3['2/d'] = 4
        t3['2/e'] = 5

        assert t == t
        assert t == t3
        assert t != t2
        assert t2 != t3
        assert t['2'] == t2
        assert t['a/b'] == t.get('a')['b']
Ejemplo n.º 5
0
    def test_constructor(self):

        t = Treect(a__b=1, a__2=22, c=3)

        assert t['a/b'] == 1
        assert t['a/2'] == 22
        assert t['c'] == 3
        assert 1 == t.get('a/b')
        assert 22 == t.get('a/2')
        assert 3 == t.get('c')
        assert isinstance(t.get('a'), Treect)
        assert isinstance(t['a'], Treect)
        assert t.get('a')['b'] == 1
        assert t.get('a')['2'] == 22
        assert t.get('c') == 3

        try:
            ne = t['non-existent-bucket']
            assert False
        except KeyError:
            pass