python-dependency-injector/examples/speech/factory_injections.py

21 lines
563 B
Python

"""Factory provider keyword argument injections example."""
import collections
import dependency_injector.providers as providers
Engine = collections.namedtuple('Engine', [])
Car = collections.namedtuple('Car', ['serial_number', 'engine'])
engine_factory = providers.Factory(Engine)
car_factory = providers.Factory(Car, engine=engine_factory)
if __name__ == '__main__':
car1 = car_factory(serial_number=1)
car2 = car_factory(serial_number=2)
assert car1.serial_number == 1 and car2.serial_number == 2
assert car1.engine is not car2.engine