public void LifetimeTests_StateCheck() { var scoped = new ScopedLifetime(); Assert.IsInstanceOfType(scoped.Create(), typeof(ScopedLifetime)); var singleton = new SingletonLifetime(); Assert.IsInstanceOfType(singleton.Create(), typeof(SingletonLifetime)); }
public void ShouldDisposeInstanceWhenDispose() { // Given var expectedInstance = new Mock <IDisposable>(); var lifetime = new SingletonLifetime(); var resolver = lifetime.Compile(() => expectedInstance.Object); resolver(Mock.Of <IContainer>()); // When lifetime.Dispose(); // Then expectedInstance.Verify(i => i.Dispose(), Times.Once); }
public void ShouldCreateSingleInstanceWhenStruct() { // Given var lifetime = new SingletonLifetime(); var resolver = lifetime.Compile(() => 10); // When var instance1 = resolver(Mock.Of <IContainer>()); var instance2 = resolver(Mock.Of <IContainer>()); var instance3 = resolver(Mock.Of <IContainer>()); // Then instance2.ShouldBe(instance1); instance3.ShouldBe(instance1); }
public Expression Build(IBuildContext context, Expression expression) { var singletonLifetime = new SingletonLifetime(); return(singletonLifetime.Build(context, expression)); }