Exemple #1
0
        public void CanSafelyDisposeContainerTwice()
        {
            DisposableExtension extension = new DisposableExtension();
            IUnityContainer     container = new UnityContainer()
                                            .AddExtension(extension);

            container.Dispose();
            container.Dispose();
        }
Exemple #2
0
        public void RemovedExtensionsAreDisposed()
        {
            DisposableExtension extension = new DisposableExtension();
            IUnityContainer     container = new UnityContainer()
                                            .AddExtension(extension);

            container.RemoveAllExtensions();

            Assert.True(extension.Removed);
            Assert.True(extension.Disposed);
        }
Exemple #3
0
        public void DisposableExtensionsAreDisposedWithContainerButNotRemoved()
        {
            DisposableExtension extension = new DisposableExtension();
            IUnityContainer     container = new UnityContainer()
                                            .AddExtension(extension);

            container.Dispose();

            Assert.True(extension.Disposed);
            Assert.False(extension.Removed);
        }
Exemple #4
0
        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);
        }