public void Constructor_WhenInvoked_ShouldNotInitializeTheContainer() { //Arrange var containerOptions = A.Fake <IBootstrapperContainerExtensionOptions>(); //Act var result = new SimpleInjectorOptions(containerOptions); //Assert Assert.IsNull(result.Container); }
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); }
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(); }
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); }
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)); }
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); }
/// <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); }
/// <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); }