public void ShouldDisposeInstanceWhenDispose() { // Given var expectedInstance = new Mock <IDisposable>(); var lifetime = new ContainerSingletonLifetime(); var resolver = lifetime.Compile(() => expectedInstance.Object); resolver(Mock.Of <IContainer>()); // When lifetime.Dispose(); // Then expectedInstance.Verify(i => i.Dispose(), Times.Once); }
public void ShouldDisposeInstanceWhenDispose() { // Given var expectedInstance = new Mock <IDisposable>(); var lifetime = new ContainerSingletonLifetime(); var resolver = lifetime.Compile(() => expectedInstance.Object); var container = new Mock <IContainer>(); container.Setup(i => i.UnregisterResource(expectedInstance.Object)).Returns(true); resolver(container.Object); // When lifetime.Dispose(); // Then expectedInstance.Verify(i => i.Dispose(), Times.Once); }