public void GetInstance_WithPerResolveInstanceInGraph_ReusesSameInstanceThroughoutGraph() { // Arrange var container = new Container(); PerGraphLifestyle.EnableFor(container); container.Register <C>(new PerGraphLifestyle()); // Act var a = container.GetInstance <A>(); // Assert Assert.AreSame(a.C, a.B.C); }
public void GetInstance_WithPerResolveInstanceInGraphAndGraphTornByGetInstance_ReturnsNewInstanceWithDifferentGetInstance() { // Arrange var container = new Container(); PerGraphLifestyle.EnableFor(container); container.Register <C>(new PerGraphLifestyle()); container.Register <B>(() => new B(container.GetInstance <C>())); // Act var a = container.GetInstance <A>(); // Assert Assert.AreNotSame(a.C, a.B.C); }
public void GetInstance_WithPerResolveInstanceInGraph_ReturnsNewInstanceWithDifferentGetInstance() { // Arrange var container = new Container(); PerGraphLifestyle.EnableFor(container); container.Register <C>(new PerGraphLifestyle()); // Act var a1 = container.GetInstance <A>(); var a2 = container.GetInstance <A>(); // Assert Assert.AreNotSame(a1.C, a2.C); }