public void ClonedContainrterShouldReturnSingletonFromRootContainer() { var container = new ServiceContainer(); container.Register<IFoo,Foo>(new PerContainerLifetime()); var firstInstance = container.GetInstance<IFoo>(); var clonedContainer = container.Clone(); var secondInstance = clonedContainer.GetInstance<IFoo>(); Assert.Same(firstInstance, secondInstance); }
public void ShouldHandleIssue476() { var container = new ServiceContainer(); container.Register <IFoo>(factory => new Foo()); container.GetInstance <IFoo>(); var clonedContainer = container.Clone(); clonedContainer.GetInstance <IFoo>(); // IndexOutOfRangeException }
public void ShouldHandleIssue396() { var container = new ServiceContainer(); container.Register <Class1>(); container.Register <Class2>(); container.GetInstance <Class1>(); var clonedContainer = container.Clone(); clonedContainer.Register <Class3>(); clonedContainer.GetInstance <Class2>(); clonedContainer.GetInstance <Class3>(); }
public void ShouldBeAbleToCloneContainer() { var container = new ServiceContainer(); var clonedContainer = container.Clone(); Assert.IsType<ServiceContainer>(clonedContainer); }