from typing import Dict from dependency_injector import containers, providers # Test 1: to check declarative container subclass class Container1(containers.DeclarativeContainer): provider = providers.Factory(int) container1 = Container1() container1_type: containers.Container = Container1() provider1: providers.Provider = container1.provider val1: int = container1.provider(3) # Test 2: to check @override decorator class Container21(containers.DeclarativeContainer): provider = providers.Factory(int) @containers.override(Container21) class Container22(containers.DeclarativeContainer): ... # Test 3: to check @copy decorator class Container31(containers.DeclarativeContainer): provider = providers.Factory(int) @containers.copy(Container31) class Container32(containers.DeclarativeContainer): ... # Test 4: to override() class Container4(containers.DeclarativeContainer): provider = providers.Factory(int) container4 = Container4() container4.override(Container4()) # Test 5: to check .dependencies attribute class Container5(containers.DeclarativeContainer): provider = providers.Factory(int) dependencies: Dict[str, providers.Provider] = Container5.dependencies # Test 6: to check base class class Container6(containers.DeclarativeContainer): provider = providers.Factory(int) container6: containers.Container = Container6() # Test 7: to override_providers() class Container7(containers.DeclarativeContainer): provider = providers.Factory(str) container7 = Container7() container7.override_providers(provider="new_value") with container7.override_providers(a=providers.Provider()): ...