public void Constructor2_ArrayAsProvidersArgument_ShouldNotAllowModificationAfterConstruction() { var providers = new ExportProvider[] { ExportProviderFactory.Create() }; var provider = new AggregateExportProvider((IEnumerable <ExportProvider>)providers); providers[0] = null; Assert.IsNotNull(provider.Providers[0]); }
public void CanBeCollectedAfterDispose() { AggregateExportProvider exportProvider = new AggregateExportProvider(); var catalog = new AggregateCatalog(CatalogFactory.CreateDefaultAttributed()); var container = new CompositionContainer(catalog, exportProvider); WeakReference weakContainer = new WeakReference(container); container.Dispose(); container = null; GC.Collect(); GC.WaitForPendingFinalizers(); Assert.False(weakContainer.IsAlive); GC.KeepAlive(exportProvider); GC.KeepAlive(catalog); }
public void CanBeCollectedAfterDispose() { AggregateExportProvider sourceExportProvider = new AggregateExportProvider(); var catalog = new AggregateCatalog(CatalogFactory.CreateDefaultAttributed()); var catalogExportProvider = new CatalogExportProvider(catalog); catalogExportProvider.SourceProvider = sourceExportProvider; WeakReference weakCatalogExportProvider = new WeakReference(catalogExportProvider); catalogExportProvider.Dispose(); catalogExportProvider = null; GC.Collect(); GC.WaitForPendingFinalizers(); Assert.IsFalse(weakCatalogExportProvider.IsAlive); GC.KeepAlive(sourceExportProvider); GC.KeepAlive(catalog); }
public void Constructor2_EmptyEnumerableAsProvidersArgument_ShouldSetProvidersPropertyToEmpty() { var provider = new AggregateExportProvider(Enumerable.Empty <ExportProvider>()); EnumerableAssert.IsEmpty(provider.Providers); }
public void Constructor2_EmptyArrayAsProvidersArgument_ShouldSetProvidersPropertyToEmpty() { var provider = new AggregateExportProvider((IEnumerable <ExportProvider>) new ExportProvider[0]); EnumerableAssert.IsEmpty(provider.Providers); }
public void Constructor1_NullAsProvidersArgument_ShouldSetProvidersPropertyToEmpty() { var provider = new AggregateExportProvider((ExportProvider[])null); EnumerableAssert.IsEmpty(provider.Providers); }
public void Constructor1_EmptyArrayAsProvidersArgument_ShouldSetProvidersPropertyToEmpty() { var provider = new AggregateExportProvider(new ExportProvider[0]); Assert.Empty(provider.Providers); }
public void Constructor2_NullAsProvidersArgument_ShouldSetProvidersPropertyToEmpty() { var provider = new AggregateExportProvider((IEnumerable <ExportProvider>)null); Assert.Empty(provider.Providers); }