Beispiel #1
0
        public void Merge_Should_Merge_HandlersAndPrependExtensionHandlers()
        {
            // arrange
            var firstFieldHandler     = new QueryableDefaultSortFieldHandler();
            var extensionFieldHandler = new MockFieldHandler();
            var convention            = new MockProvider(x => x.AddFieldHandler(firstFieldHandler));
            var extension             = new MockProviderExtensions(
                x => x.AddFieldHandler(extensionFieldHandler));
            var context = new ConventionContext(
                "Scope",
                new ServiceCollection().BuildServiceProvider(),
                DescriptorContext.Create());

            convention.Initialize(context);
            extension.Initialize(context);

            // act
            extension.Merge(context, convention);

            // assert
            Assert.NotNull(convention.DefinitionAccessor);
            Assert.Collection(
                convention.DefinitionAccessor !.Handlers,
                x => Assert.Equal(extensionFieldHandler, x.HandlerInstance),
                x => Assert.Equal(firstFieldHandler, x.HandlerInstance));
        }
Beispiel #2
0
    public void Merge_Should_Merge_ProviderExtensions()
    {
        // arrange
        var provider1  = new MockProviderExtensions();
        var convention = new MockProjectionConvention(x => x.AddProviderExtension(provider1));
        var provider2  = new MockProviderExtensions();
        var extension  =
            new ProjectionConventionExtension(x => x.AddProviderExtension(provider2));
        var context = new ConventionContext(
            "Scope",
            new ServiceCollection().BuildServiceProvider(),
            DescriptorContext.Create());

        convention.Initialize(context);
        extension.Initialize(context);

        // act
        extension.Merge(context, convention);

        // assert
        Assert.NotNull(convention.DefinitionAccessor);
        Assert.Collection(
            convention.DefinitionAccessor !.ProviderExtensions,
            x => Assert.Equal(provider1, x),
            x => Assert.Equal(provider2, x));
    }