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