public async void Can_override_flow_definition()
        {
            var(mediator, _) =
                GetMediator <OverriddenFlowRequest>(sc =>
                                                    sc.AddTransient(typeof(IFlowOverrideProvider), typeof(BasicFlowOverrideProvider)));

            var request = new OverriddenFlowRequest();

            var response = await mediator.Send(request);

            Assert.NotEqual(OverriddenFlowRequest.BaseValue, response.OutputValue);
            Assert.Equal(BasicFlowOverrideProvider.OverriddenValue, response.OutputValue);
        }
        public async void Can_override_flow_definition_with_criteria(string flowValue, string expectedOutputValue)
        {
            var(mediator, _) =
                GetMediator <OverriddenFlowRequest>(sc =>
                                                    sc.AddTransient(typeof(IFlowOverrideProvider), typeof(CriteriaBasedFlowOverrideProvider)));

            var request = new OverriddenFlowRequest {
                FlowValue = flowValue
            };

            var response = await mediator.Send(request);

            Assert.Equal(expectedOutputValue, response.OutputValue);
        }