예제 #1
0
 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)
예제 #2
0
 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))
예제 #3
0
 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)
예제 #4
0
    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))
예제 #5
0
    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)
예제 #6
0
    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)
예제 #7
0
 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)
예제 #8
0
 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))
예제 #9
0
 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)
예제 #10
0
 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)
예제 #11
0
    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)
예제 #12
0
 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))
예제 #13
0
 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)
예제 #14
0
    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)
예제 #15
0
    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))
예제 #16
0
    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)
예제 #17
0
    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))
예제 #18
0
    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)