public void GetInstance_ResolvingSingletonDependingOnInstancePerDependencyInstance_Succeeds() { // Arrange var container = new Container(); var lifestyle = new InstancePerDependencyLifestyle(); container.RegisterSingleton <CommandWithILoggerDependency>(); container.Register <ILogger, NullLogger>(new InstancePerDependencyLifestyle()); // Act container.GetInstance <CommandWithILoggerDependency>(); }
public void Verify_RegistrationWithSingletonDependingOnInstancePerDependencyInstance_Succeeds() { // Arrange var container = new Container(); var lifestyle = new InstancePerDependencyLifestyle(); container.RegisterSingleton<CommandWithILoggerDependency>(); container.Register<ILogger, NullLogger>(new InstancePerDependencyLifestyle()); // Act container.Verify(); }
public void GetInstance_ResolvingTransientDependingOnInstancePerDependencyInstance_EveryInstanceGetsNewInstance() { // Arrange var container = new Container(); var lifestyle = new InstancePerDependencyLifestyle(); container.Register <CommandWithILoggerDependency>(); container.Register <ILogger, NullLogger>(new InstancePerDependencyLifestyle()); // Act var c1 = container.GetInstance <CommandWithILoggerDependency>(); var c2 = container.GetInstance <CommandWithILoggerDependency>(); // Assert Assert.AreNotSame(c1.Logger, c2.Logger); }
public void GetInstance_ResolvingTransientDependingOnInstancePerDependencyInstance_EveryInstanceGetsNewInstance() { // Arrange var container = new Container(); var lifestyle = new InstancePerDependencyLifestyle(); container.Register<CommandWithILoggerDependency>(); container.Register<ILogger, NullLogger>(new InstancePerDependencyLifestyle()); // Act var c1 = container.GetInstance<CommandWithILoggerDependency>(); var c2 = container.GetInstance<CommandWithILoggerDependency>(); // Assert Assert.AreNotSame(c1.Logger, c2.Logger); }