Inheritance: ComposablePartCatalog, ICompositionElement
Ejemplo n.º 1
0
    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);
	}
Ejemplo n.º 3
0
    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());
	}
Ejemplo n.º 5
0
    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());
	}