public async void Can_override_request_property()
        {
            var(mediator, _) =
                GetMediator <OverriddenActivityFlowRequest>(sc =>
                                                            sc.AddTransient(typeof(IFlowOverrideProvider), typeof(BasicStepOverrideProvider)));

            var request = new OverriddenActivityFlowRequest();

            var response = await mediator.Send(request);

            Assert.Equal(BasicStepOverrideProvider.OverriddenValue, response.OverridableOutputValue);
            Assert.Equal(OverriddenActivityFlowRequest.BaseValue, response.NonOverridableOutputValue);
        }
        public async void Can_override_activity_request_property_with_criteria(
            string settingsFileName, string flowValue, string expectedOverriddenValue)
        {
            var configurationRoot =
                new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile(settingsFileName)
                .Build();

            var(mediator, _) =
                GetMediator <OverriddenActivityFlowRequest>(sc =>
            {
                sc.AddTransient(typeof(IFlowOverrideProvider), typeof(CriteriaBasedStepOverrideProvider));
                sc.AddSingleton <IConfiguration>(configurationRoot);
            });

            var request = new OverriddenActivityFlowRequest {
                FlowValue = flowValue
            };

            var response = await mediator.Send(request);

            Assert.Equal(expectedOverriddenValue, response.OverridableOutputValue);
        }