Beispiel #1
0
 def test_get_item(self):
     container = IocContainer({
         'definitions': {
             'test': {
                 'item': 'tests.watson.di.support.SampleDependency',
                 'type': 'singleton',
             },
             'test2': {
                 'item': 'tests.watson.di.support.sample_dependency',
                 'type': 'singleton',
             },
             'test3': {
                 'item': 'tests.watson.di.support.sample_dependency_with_args',
                 'type': 'singleton',
                 'init': {
                     'arg': 'some arg'
                 }
             }
         }
     })
     container.add_definition('def', {'item': lambda container: 'something'})
     assert isinstance(container.get('test'), SampleDependency)
     assert container.get('test2') == 'test'
     assert container.get('def') == 'something'
     assert container.get('def') == 'something'
     assert container.get('def') is container.get('def')
     assert container.get('test3') == 'some arg'
     assert len(container.instantiated) == 4
Beispiel #2
0
 def test_add_definition(self):
     container = IocContainer()
     container.add_definition('dep', {'item': lambda container: 'something'})
     assert container.get('dep') == 'something'