public void Constructor_WhenInvoked_ShouldNotInitializeTheContainer()
        {
            //Arrange
            var containerOptions = A.Fake <IBootstrapperContainerExtensionOptions>();

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

            //Assert
            Assert.IsNull(result.Container);
        }
        public void UsingAutoRegistration_WhenInvoked_ShouldReturnTheSameNinjectOptions()
        {
            //Arrange
            var containerOptions = A.Fake <IBootstrapperContainerExtensionOptions>();
            var options          = new NinjectOptions(containerOptions);

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

            //Assert
            Assert.AreSame(options, result);
        }
        public void UsingAutoRegistration_WhenInvoked_ShouldInvokeUsingAutoRegistrationInTheOptions()
        {
            //Arrange
            var containerOptions = A.Fake <IBootstrapperContainerExtensionOptions>();
            var options          = new NinjectOptions(containerOptions);

            //Act
            options.UsingAutoRegistration();

            //Assert
            A.CallTo(() => containerOptions.UsingAutoRegistration()).MustHaveHappened();
        }
        public void WithContainer_WhenInvoked_ShouldSetTheContainer()
        {
            //Arrange
            var container        = A.Fake <IKernel>();
            var containerOptions = A.Fake <IBootstrapperContainerExtensionOptions>();
            var options          = new NinjectOptions(containerOptions);

            //Act
            options.WithContainer(container);

            //Assert
            Assert.AreSame(container, options.Container);
        }
        public void WithContainer_WhenInvoked_ShouldReturnTheSameNinjectOptions()
        {
            //Arrange
            var container        = A.Fake <IKernel>();
            var containerOptions = A.Fake <IBootstrapperContainerExtensionOptions>();
            var options          = new NinjectOptions(containerOptions);

            //Act
            var result = options.WithContainer(container);

            //Assert
            Assert.AreSame(options, result);
        }
        public void Constructor_WhenInvoked_ShouldReturnNinjectOptions()
        {
            //Arrange
            var containerOptions = A.Fake <IBootstrapperContainerExtensionOptions>();

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

            //Assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(NinjectOptions));
            Assert.IsInstanceOfType(result, typeof(IBootstrapperContainerExtensionOptions));
        }
        public void AutoRegistration_WhenInvoked_ShouldReturnTheValueOfTheOptionsAutoRegistration()
        {
            //Arrange
            var containerOptions = A.Fake <IBootstrapperContainerExtensionOptions>();
            var options          = new NinjectOptions(containerOptions);

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

            //Act
            var result = options.AutoRegistration;

            //Assert
            Assert.IsTrue(result);
        }
        /// <summary>
        /// Use the KickStart extension to configure Ninject.
        /// </summary>
        /// <param name="configurationBuilder">The configuration builder.</param>
        /// <param name="configure">The <see langword="delegate"/> to configure Ninject options.</param>
        /// <returns>
        /// A fluent <see langword="interface"/> to configure KickStart.
        /// </returns>
        public static IConfigurationBuilder UseNinject(this IConfigurationBuilder configurationBuilder, Action <INinjectBuilder> configure)
        {
            var options = new NinjectOptions();
            var service = new NinjectStarter(options);

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

            configurationBuilder.ExcludeName("Ninject");
            configurationBuilder.Use(service);

            return(configurationBuilder);
        }
Exemple #9
0
        /// <summary>
        /// Use the KickStart extension to configure Ninject.
        /// </summary>
        /// <param name="configurationBuilder">The configuration builder.</param>
        /// <param name="configure">The <see langword="delegate"/> to configure Ninject options.</param>
        /// <returns>
        /// A fluent <see langword="interface"/> to configure KickStart.
        /// </returns>
        public static IConfigurationBuilder UseNinject(this IConfigurationBuilder configurationBuilder, Action <INinjectBuilder> configure)
        {
            var options = new NinjectOptions();
            var service = new NinjectStarter(options);

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

            configurationBuilder.ExcludeAssemblyFor <NinjectStarter>();
            configurationBuilder.ExcludeAssemblyFor <global::Ninject.IKernel>();
            configurationBuilder.Use(service);

            return(configurationBuilder);
        }