public Startup() { Container = new UnityContainer(); _loggingSubsystem = new LoggingSubsystem(Container); _servicesSubsystem = new ServicesSubsystem(Container); _validatorSubsystem = new ValidatorSubsystem(Container); _executorsSubsystem = new ExecutorsSubsystem(Container); _isFirstRun = true; }
public void Given_ExecutorsSubsystem_When_Initializing_Then_Dependencies_Are_Registered() { using (var startup = new Startup()) { startup.Start(); var container = Startup.Container; var executorsSubsystem = new ExecutorsSubsystem(container); executorsSubsystem.Start(); var mazeCoordinatorExecutor = container.Resolve <IMazeCoordinatorExecutor>(); var mazeTransformerExecutor = container.Resolve <IMazeTransformerExecutor>(); var mazePathfinderAlgorithmExecutor = container.Resolve <IMazePathfinderAlgorithmExecutor>(); var mazeDimensionPropertiesExtractorExecutor = container.Resolve <IMazeDimensionPropertiesExtractorExecutor>(); Assert.IsNotNull(mazeCoordinatorExecutor); Assert.IsNotNull(mazeTransformerExecutor); Assert.IsNotNull(mazePathfinderAlgorithmExecutor); Assert.IsNotNull(mazeDimensionPropertiesExtractorExecutor); } }