public void WhenPartIsNonShared_ThenGetExportGetsDifferent() { var catalog = new TypeCatalog(typeof(NonSharedFoo)); var filtered = new FilteringReflectionCatalog(catalog); var container = new CompositionContainer(filtered); var export1 = container.GetExportedValue <NonSharedFoo>(); var export2 = container.GetExportedValue <NonSharedFoo>(); Assert.NotSame(export1, export2); }
public void WhenPartIsNonShared_ThenGetExportGetsDifferent() { var catalog = new TypeCatalog(typeof(NonSharedFoo)); var filtered = new FilteringReflectionCatalog(catalog); var container = new CompositionContainer(filtered); var export1 = container.GetExportedValue<NonSharedFoo>(); var export2 = container.GetExportedValue<NonSharedFoo>(); Assert.NotSame(export1, export2); }
public void WhenPartIsFiltered_ThenItsExportCannotBeRetrieved() { var catalog = new TypeCatalog(typeof(Foo)); var filtered = new FilteringReflectionCatalog(catalog) { //PartFilter = part => part.PartType != typeof(Foo), PartFilter = part => part.PartDefinition.Metadata.ContainsKey("IsPublic"), }; var container = new CompositionContainer(filtered); var exports = container.GetExports <IFoo>(); Assert.False(exports.Any()); }
public void WhenPartIsFiltered_ThenItsExportCannotBeRetrieved() { var catalog = new TypeCatalog(typeof(Foo)); var filtered = new FilteringReflectionCatalog(catalog) { //PartFilter = part => part.PartType != typeof(Foo), PartFilter = part => part.PartDefinition.Metadata.ContainsKey("IsPublic"), }; var container = new CompositionContainer(filtered); var exports = container.GetExports<IFoo>(); Assert.False(exports.Any()); }
public void WhenExportIsFiltered_ThenPartIsAvailableButNotExport() { var catalog = new TypeCatalog(typeof(Foo)); var filtered = new FilteringReflectionCatalog(catalog) { ExportFilter = export => !(export.ExportingMember.MemberType == System.Reflection.MemberTypes.Property), }; var container = new CompositionContainer(filtered); var exports = container.GetExports <IFoo>(); var barExports = container.GetExports <IBar>(); Assert.True(exports.Any()); Assert.False(barExports.Any()); }
public void WhenExportIsFiltered_ThenPartIsAvailableButNotExport() { var catalog = new TypeCatalog(typeof(Foo)); var filtered = new FilteringReflectionCatalog(catalog) { ExportFilter = export => !(export.ExportingMember.MemberType == System.Reflection.MemberTypes.Property), }; var container = new CompositionContainer(filtered); var exports = container.GetExports<IFoo>(); var barExports = container.GetExports<IBar>(); Assert.True(exports.Any()); Assert.False(barExports.Any()); }