Ejemplo n.º 1
0
        public async Task ExecuteAsync_UseSortingAndChangeInput_ReturnsModifiedOutput()
        {
            var middleware = new PreProcessingMiddleware <Calculate, int>(
                new IQueryPreProcessor <Calculate, int>[]
            {
                new DoubleMultiplier(),
                new AddTenToMultiplier(),
                new DoubleMultiplier(),
                new AddTenToMultiplier(),
                new AddTenToMultiplier()
            },
                new VeryTrickyComparer()
                );

            var query = new Calculate {
                Value = 5, Multiplier = 1
            };
            var handler = (IQueryHandler <Calculate, int>) new SyncCalculateHandler();

            var actual = await middleware.ExecuteAsync(
                query,
                () => handler.HandleAsync(query, default),
                default
                );

            actual.Should().Be(620);
        }
Ejemplo n.º 2
0
        public async Task ExecuteAsync_ChangeInput_ReturnsModifiedOutput()
        {
            var middleware = new PreProcessingMiddleware <Calculate, int>(
                new[]
            {
                new DoubleMultiplier(),
                new DoubleMultiplier()
            },
                null
                );

            var query = new Calculate {
                Value = 5, Multiplier = 1
            };
            var handler = (IQueryHandler <Calculate, int>) new SyncCalculateHandler();

            var actual = await middleware.ExecuteAsync(
                query,
                () => handler.HandleAsync(query, default),
                default
                );

            actual.Should().Be(20);
        }