public void ShouldReturnANewImplementationInstanceWithEachResolutionRequest() { var container = new Container(); var lifecycleManager = new TransientLifecycleManager(); var registration = new Registration(typeof(IAmATestInterface), typeof(ImplementationTest), lifecycleManager); var firstInstanceClass = lifecycleManager.GetImplementationInstance(container, registration); var secondInstanceClass = lifecycleManager.GetImplementationInstance(container, registration); Assert.NotSame(firstInstanceClass, secondInstanceClass); }
public void ReturnsTheResultOfTheFactoryMethodEachTimeItIsCalled() { // arrange Func <A> factory = () => new A(); var transientLifecycleManager = new TransientLifecycleManager <A>(factory); // act var a1 = transientLifecycleManager.GetObject(); var a2 = transientLifecycleManager.GetObject(); // assert Assert.NotNull(a1); Assert.NotNull(a2); Assert.NotEqual(a1, a2); }