示例#1
0
 def test_swap_os_environ(self):
     sl = factoryfactory.ServiceLocator()
     import os
     dc = {'a': 'b'}
     sl.register(os.environ, dc)
     a = sl.get(os.environ)
     self.assertEqual(dc, a)
     self.assertNotEqual(os.environ, a)
示例#2
0
 def test_lambda_provider(self):
     sl = factoryfactory.ServiceLocator()
     sl.register('Hello', lambda *args, **kwargs: 'World')
     a = sl.get('Hello')
     self.assertEqual('World', a)
示例#3
0
 def test_locate_os_environ(self):
     sl = factoryfactory.ServiceLocator()
     import os
     a = sl.get(os.environ)
     self.assertEqual(os.environ, a)
示例#4
0
 def test_locate_non_callable(self):
     sl = factoryfactory.ServiceLocator()
     sl.register('Hello', 'World')
     a = sl.get('Hello')
     self.assertEqual('World', a)
示例#5
0
 def test_constructor(self):
     sl = factoryfactory.ServiceLocator()
     a = sl.get(C)
     self.assertIsInstance(a.a, A)
示例#6
0
 def test_locate_non_singleton(self):
     sl = factoryfactory.ServiceLocator()
     a = sl.get(A)
     b = sl.get(A)
     self.assertNotEqual(a, b)
示例#7
0
 def test_locate_singleton(self):
     sl = factoryfactory.ServiceLocator()
     sl.register(A, A, singleton=True)
     a = sl.get(A)
     b = sl.get(A)
     self.assertEqual(a, b)
示例#8
0
 def test_locate_B_from_A_services(self):
     sl = factoryfactory.ServiceLocator()
     sl.register(B, A)
     a = sl.get(A)
     b = a.services[B]()
     self.assertIsInstance(b, A)
示例#9
0
 def test_locate_B_from_A(self):
     sl = factoryfactory.ServiceLocator()
     sl.register(A, B)
     a = sl[A]()
     self.assertIsInstance(a, B)
示例#10
0
 def test_locate_A(self):
     sl = factoryfactory.ServiceLocator()
     a = sl.get(A)
     self.assertIsInstance(a, A)