コード例 #1
0
        public void Constructor_WhenInvoked_ShouldNotInitializeTheContainer()
        {
            //Arrange
            var containerOptions = A.Fake <IBootstrapperContainerExtensionOptions>();

            //Act
            var result = new SimpleInjectorOptions(containerOptions);

            //Assert
            Assert.IsNull(result.Container);
        }
コード例 #2
0
        public void UsingAutoRegistration_WhenInvoked_ShouldReturnTheSameSimpleInjectorOptions()
        {
            //Arrange
            var containerOptions = A.Fake <IBootstrapperContainerExtensionOptions>();
            var options          = new SimpleInjectorOptions(containerOptions);

            //Act
            var result = options.UsingAutoRegistration();

            //Assert
            Assert.AreSame(options, result);
        }
コード例 #3
0
        public void UsingAutoRegistration_WhenInvoked_ShouldInvokeUsingAutoRegistrationInTheOptions()
        {
            //Arrange
            var containerOptions = A.Fake <IBootstrapperContainerExtensionOptions>();
            var options          = new SimpleInjectorOptions(containerOptions);

            //Act
            options.UsingAutoRegistration();

            //Assert
            A.CallTo(() => containerOptions.UsingAutoRegistration()).MustHaveHappened();
        }
コード例 #4
0
        public void WithContainer_WhenInvoked_ShouldSetTheContainer()
        {
            //Arrange
            var container        = A.Fake <Container>();
            var containerOptions = A.Fake <IBootstrapperContainerExtensionOptions>();
            var options          = new SimpleInjectorOptions(containerOptions);

            //Act
            options.WithContainer(container);

            //Assert
            Assert.AreSame(container, options.Container);
        }
コード例 #5
0
        public void Constructor_WhenInvoked_ShouldReturnSimpleInjectorOptions()
        {
            //Arrange
            var containerOptions = A.Fake <IBootstrapperContainerExtensionOptions>();

            //Act
            var result = new SimpleInjectorOptions(containerOptions);

            //Assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(SimpleInjectorOptions));
            Assert.IsInstanceOfType(result, typeof(IBootstrapperContainerExtensionOptions));
        }
コード例 #6
0
        public void AutoRegistration_WhenInvoked_ShouldReturnTheValueOfTheOptionsAutoRegistration()
        {
            //Arrange
            var containerOptions = A.Fake <IBootstrapperContainerExtensionOptions>();
            var options          = new SimpleInjectorOptions(containerOptions);

            A.CallTo(() => containerOptions.AutoRegistration).Returns(true);

            //Act
            var result = options.AutoRegistration;

            //Assert
            Assert.IsTrue(result);
        }
コード例 #7
0
        /// <summary>
        /// Use the KickStart extension to configure SimpleInjector.
        /// </summary>
        /// <param name="configurationBuilder">The configuration builder.</param>
        /// <param name="configure">The <see langword="delegate"/> to configure SimpleInjector options.</param>
        /// <returns>
        /// A fluent <see langword="interface"/> to configure KickStart.
        /// </returns>
        public static IConfigurationBuilder UseSimpleInjector(this IConfigurationBuilder configurationBuilder, Action <ISimpleInjectorBuilder> configure)
        {
            var options = new SimpleInjectorOptions();
            var starter = new SimpleInjectorStarter(options);

            if (configure != null)
            {
                var builder = new SimpleInjectorBuilder(options);
                configure(builder);
            }

            configurationBuilder.ExcludeName("SimpleInjector");
            configurationBuilder.Use(starter);

            return(configurationBuilder);
        }
コード例 #8
0
        /// <summary>
        /// Use the KickStart extension to configure SimpleInjector.
        /// </summary>
        /// <param name="configurationBuilder">The configuration builder.</param>
        /// <param name="configure">The <see langword="delegate"/> to configure SimpleInjector options.</param>
        /// <returns>
        /// A fluent <see langword="interface"/> to configure KickStart.
        /// </returns>
        public static IConfigurationBuilder UseSimpleInjector(this IConfigurationBuilder configurationBuilder, Action <ISimpleInjectorBuilder> configure)
        {
            var options = new SimpleInjectorOptions();
            var starter = new SimpleInjectorStarter(options);

            if (configure != null)
            {
                var builder = new SimpleInjectorBuilder(options);
                configure(builder);
            }

            configurationBuilder.ExcludeAssemblyFor <SimpleInjectorStarter>();
            configurationBuilder.ExcludeAssemblyFor <global::SimpleInjector.Container>();
            configurationBuilder.Use(starter);

            return(configurationBuilder);
        }