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
def test_add_definition(self): container = IocContainer() container.add_definition('dep', {'item': lambda container: 'something'}) assert container.get('dep') == 'something'