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); }