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