public void ShouldCallInitializationManagerOnConstruction()
    {
      InitializationManager initializationManager = Substitute.For<InitializationManager>(new TestInitializationActionDiscoverer(), new InitializationActionExecutor());
      TestApplication application = new CustomTestApplication(initializationManager);

      initializationManager.Received().Initialize(0, Arg.Is<TestApplicationInitializationContext>(context => context.Application == application));
    }
        public void ShouldCallInitializationManagerOnConstruction()
        {
            InitializationManager initializationManager = Substitute.For <InitializationManager>(new TestInitializationActionDiscoverer(), new InitializationActionExecutor());
            TestApplication       application           = new CustomTestApplication(initializationManager);

            initializationManager.Received().Initialize(0, Arg.Is <TestApplicationInitializationContext>(context => context.Application == application));
        }
    public void ShouldCallInitializationManagerOnStop()
    {
      InitializationManager initializationManager = Substitute.For<InitializationManager>(new TestInitializationActionDiscoverer(), new InitializationActionExecutor());
      TestApplication application = new CustomTestApplication(initializationManager);

      ((IRegisteredObject)application).Stop(false);

      initializationManager.Received().Cleanup(0, Arg.Is<TestApplicationInitializationContext>(context => context.Application == application));
    }
        public void ShouldCallInitializationManagerOnStop()
        {
            InitializationManager initializationManager = Substitute.For <InitializationManager>(new TestInitializationActionDiscoverer(), new InitializationActionExecutor());
            TestApplication       application           = new CustomTestApplication(initializationManager);

            ((IRegisteredObject)application).Stop(false);

            initializationManager.Received().Cleanup(0, Arg.Is <TestApplicationInitializationContext>(context => context.Application == application));
        }