public void RegisterEnvMiddleware_RegistersComponents()
        {
            // Arrange
            ContainerBuilder   containerBuilder = new ContainerBuilder();
            IConfigurationRoot config           = new ConfigurationBuilder().Build();

            // Act
            EnvContainerBuilderExtensions.RegisterEnvActuator(containerBuilder, config);
            var container = containerBuilder.Build();

            // Assert
            Assert.True(container.IsRegistered <IEnvOptions>(), "Env options are registered");
            Assert.True(container.IsRegistered <IHostingEnvironment>(), "IHostingEnvironment is registered");
            Assert.True(container.IsRegistered <IEndpoint <EnvironmentDescriptor> >(), "Env endpoint is registered");
            Assert.True(container.IsRegistered <EndpointOwinMiddleware <EnvironmentDescriptor> >(), "Env endpoint middleware is registered");
        }
        public void RegisterEnvMiddleware_ThrowsOnNulls()
        {
            // Arrange
            ContainerBuilder   containerNull    = null;
            ContainerBuilder   containerBuilder = new ContainerBuilder();
            IConfigurationRoot configNull       = null;
            IConfigurationRoot config           = new ConfigurationBuilder().Build();

            // Act
            var ex  = Assert.Throws <ArgumentNullException>(() => EnvContainerBuilderExtensions.RegisterEnvActuator(containerNull, config));
            var ex2 = Assert.Throws <ArgumentNullException>(() => EnvContainerBuilderExtensions.RegisterEnvActuator(containerBuilder, configNull));

            // Assert
            Assert.Equal("container", ex.ParamName);
            Assert.Equal("config", ex2.ParamName);
        }