def testGetNone(self): injector = Injector() self.assertTrue(injector.get('some_key', none=True) is None) injector2 = Injector(autobind=False) class A(object): pass self.assertTrue(injector2.get(A, none=True) is None)
def testGetAutobind(self): class A(object): pass injector = Injector() a = injector.get(A) a2 = injector.get(A) self.assertTrue(a is a2) self.assertTrue(isinstance(a, A))
def testGetMultipleScopes(self): class A(object): pass a = A() injector = Injector() scope = injector.get(ThreadScope) scope.bind(A, a) self.assertTrue(injector.get(A) is a)
def testBindToNone(self): '''Injector.bind_to_none should create a provider which returns None.''' class A(object): pass injector = Injector() injector.bind(A, None) self.assertTrue(injector.get(A) is None)
def testUnbindFactory(self): class A(object): pass class B(object): pass injector = Injector() injector.bind_factory(A, B) self.assertTrue(injector.is_factory_bound(A)) self.assertFalse(injector.is_bound(A)) injector.get(A) self.assertTrue(injector.is_bound(A)) injector.unbind_factory(A) self.assertFalse(injector.is_factory_bound(A)) self.assertTrue(injector.is_bound(A))
def testBindFactory(self): class A(object): pass class B(object): pass injector = Injector() injector.bind_factory(A, B) self.assertTrue(injector.is_factory_bound(A)) self.assertFalse(injector.is_bound(A)) a = injector.get(A) self.assertTrue(isinstance(a, B)) self.assertTrue(injector.is_bound(A)) a2 = injector.get(A) self.assertTrue(a2 is a)
def testBind(self): '''Injector.bind should create a provider for a type and save it.''' class A(object): pass a = A() injector = Injector() injector.bind(A, to=a) self.assertTrue(injector.get(A) is a)
def testBindScope(self): class Scope(object): pass scope = Scope() injector = Injector() injector.bind_scope(Scope, scope) self.assertTrue(injector.get(Scope) is scope) self.assertTrue(injector.is_scope_bound(Scope))
def testGet(self): '''Injector.get should return an instance.''' class A(object): pass a = A() injector = Injector() injector.bind(A, to=a) a2 = injector.get(A) self.assertTrue(a2 is a)