示例#1
0
        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);
            }
        }