def test_no_target(self): proxy = Proxy() with self.assertRaises(AttributeError): proxy.foo with self.assertRaises(AttributeError): proxy.bar()
def test_not_found(self): class Target(object): pass proxy = Proxy(Target()) with self.assertRaises(AttributeError): proxy.foo with self.assertRaises(AttributeError): proxy.bar()
def test_found_in_target(self): class Target(object): def __init__(self): self.foo = 'foo' def bar(self): return 'bar' proxy = Proxy(Target()) self.assertEqual('foo', proxy.foo) self.assertEqual('bar', proxy.bar())
def test_static_success(self): target = object() proxy = Proxy(target) self.assertEqual(target, proxy.target)
def test_static_none(self): proxy = Proxy(None) with self.assertRaises(NoTargetError): proxy.target
def test_static(self): target = object() proxied = Proxy(target) self.assertEqual(target, proxied._target())