update MEF to preview 9
[mono.git] / mcs / class / System.ComponentModel.Composition / Tests / ComponentModelUnitTest / System / ComponentModel / Composition / CompositionContainerExtensibilityTests.cs
index ae652418c17ba535477dab27060f1d967b4548f3..f088200809bd514d43dbc2187b877b2b59493a78 100644 (file)
@@ -47,6 +47,26 @@ namespace System.ComponentModel.Composition
             Assert.AreSame(container, container.GetExportedValue<CompositionContainer>());\r
         }\r
 \r
+        [TestMethod]\r
+        public void CanBeCollectedAfterDispose()\r
+        {\r
+            AggregateExportProvider exportProvider = new AggregateExportProvider();\r
+            var catalog = new AggregateCatalog(CatalogFactory.CreateDefaultAttributed());\r
+            var container = new CompositionContainer(catalog, exportProvider);\r
+\r
+            WeakReference weakContainer = new WeakReference(container);\r
+            container.Dispose();\r
+            container = null;\r
+\r
+            GC.Collect();\r
+            GC.WaitForPendingFinalizers();\r
+\r
+            Assert.IsFalse(weakContainer.IsAlive);\r
+\r
+            GC.KeepAlive(exportProvider);\r
+            GC.KeepAlive(catalog);\r
+        }\r
+\r
         private CustomCompositionContainer CreateCustomCompositionContainer()\r
         {\r
             return new CustomCompositionContainer();\r