public void CanSafelyDisposeContainerTwice() { DisposableExtension extension = new DisposableExtension(); IUnityContainer container = new UnityContainer() .AddExtension(extension); container.Dispose(); container.Dispose(); }
public void RemovedExtensionsAreDisposed() { DisposableExtension extension = new DisposableExtension(); IUnityContainer container = new UnityContainer() .AddExtension(extension); container.RemoveAllExtensions(); Assert.True(extension.Removed); Assert.True(extension.Disposed); }
public void DisposableExtensionsAreDisposedWithContainerButNotRemoved() { DisposableExtension extension = new DisposableExtension(); IUnityContainer container = new UnityContainer() .AddExtension(extension); container.Dispose(); Assert.True(extension.Disposed); Assert.False(extension.Removed); }
public void OnlyDisposableExtensionAreDisposed() { DisposableExtension extension = new DisposableExtension(); NoopExtension noop = new NoopExtension(); IUnityContainer container = new UnityContainer() .AddExtension(noop) .AddExtension(extension); container.Dispose(); Assert.True(extension.Disposed); }