Exemplo n.º 1
0
    def test_proxy_dir(self):
        p_obj = dict()
        p = Proxy(p_obj)
        assert p._resolve() == p_obj

        # Dir p should contain at least the objects of dir
        assert set(dir(p)) >= set(dir(p_obj))
Exemplo n.º 2
0
    def test_proxy_setattr(self):
        class TT(object):
            foo = 'foo'

        tt = Proxy(TT())
        tt.foo = 'bar'
        assert tt.__getattr__('foo') == 'bar'
Exemplo n.º 3
0
    def test_proxy_call(self):
        class _test_proxy(object):
            calls = 0

            def __call__(self, *args, **kwargs):
                _test_proxy.calls += 1
                return _test_proxy.calls

        p = Proxy(_test_proxy())
        p_arg_obj = object()
        assert p(p_arg_obj) == 1
        assert p._resolve()() == 2
Exemplo n.º 4
0
    def test_proxy_items(self):
        p_obj = dict()
        p = Proxy(p_obj)
        assert p._resolve() == p_obj
        assert not ('key' in p)

        p['key'] = 'foo'
        assert 'key' in p
        assert p._resolve()['key'] == 'foo'
        assert p['key'] == 'foo'

        del p['key']
        assert not ('key' in p)
Exemplo n.º 5
0
 def test_proxy_iter(self):
     p_iters = 0
     p_obj = dict(key='foo')
     p = Proxy(p_obj)
     for x in p:
         p_iters += 1
         assert x == 'key'
     assert len(p) == 1
     assert p_iters == 1
Exemplo n.º 6
0
 def test_proxy_attr(self):
     p = Proxy()
     p._set_resolver_obj(self)
     assert p._resolve() == self
     assert hasattr(p, 'foo') == False
     p.foo = 'foo'
     assert hasattr(p, 'foo')
     assert p.foo == 'foo'
     del p.foo
     assert hasattr(p, 'foo') == False
Exemplo n.º 7
0
    def test_proxy_callable_obj(self):
        p_stack = []
        p = Proxy()
        assert p._resolve() is None

        def p_func(arg):
            p_stack.append(arg)
            return arg

        p._set_resolver_obj(p_func)
        assert p._resolve() == p_func

        p_arg_obj = object()
        assert p(p_arg_obj) == p_arg_obj
        assert p_stack.pop() == p_arg_obj
Exemplo n.º 8
0
 def test_proxy_len(self):
     p_obj = dict(key='foo')
     p = Proxy(p_obj)
     assert p._resolve() == p_obj
     assert len(p) == 1
Exemplo n.º 9
0
 def test_proxy_contains(self):
     p_obj = dict(key='foo')
     p = Proxy(p_obj)
     assert p._resolve() == p_obj
     assert 'key' in p
Exemplo n.º 10
0
 def test_proxy_str(self):
     p_obj = dict(foo='bar')
     p = Proxy(p_obj)
     assert p._resolve() == p_obj
     assert "{'foo': 'bar'}" in str(p)
Exemplo n.º 11
0
 def test_proxy_init_with_arg(self):
     p_obj = dict()
     p = Proxy(p_obj)
     assert p._resolve() == p_obj
Exemplo n.º 12
0
 def test_proxy_init_no_arg(self):
     p = Proxy()
     assert p._resolve() is None