public void DisposeInstances_does_not_dispose_non_disposable_objects(IServiceRegistrationProvider registrations, ICachesResolvedServiceInstances cache, ServiceInstanceDisposer sut, IServiceRegistration registration, object nonDisposable) { // Arrange Mock.Get(registration).SetupGet(x => x.DisposeWithContainer).Returns(false); Mock.Get(registration).SetupGet(x => x.Cacheable).Returns(true); Mock.Get(registrations).Setup(x => x.GetAll()).Returns(new [] { registration }); object obj = nonDisposable; Mock.Get(cache) .Setup(x => x.TryGet(registration, out obj)) .Callback(() => obj = nonDisposable) .Returns(true); // Act Assert.That(() => sut.DisposeInstances(registrations, cache), Throws.Nothing); }
public void DisposeInstances_does_not_dispose_non_cached_instances(IServiceRegistrationProvider registrations, ICachesResolvedServiceInstances cache, ServiceInstanceDisposer sut, IServiceRegistration registration, IDisposable disposable) { // Arrange Mock.Get(registration).SetupGet(x => x.DisposeWithContainer).Returns(true); Mock.Get(registration).SetupGet(x => x.Cacheable).Returns(true); Mock.Get(registrations).Setup(x => x.GetAll()).Returns(new [] { registration }); object obj = disposable; Mock.Get(cache) .Setup(x => x.TryGet(registration, out obj)) .Returns(false); // Act sut.DisposeInstances(registrations, cache); // Assert Mock.Get(disposable).Verify(x => x.Dispose(), Times.Never); }