private static async Task <ReceivingProcessingMode> ExerciseScoringSystemAsync(
            UserMessage um,
            params ReceivingProcessingMode[] availablePModes)
        {
            var stub = new Mock <IConfig>();

            stub.Setup(c => c.GetReceivingPModes())
            .Returns(availablePModes);

            var sut = new DeterminePModesStep(stub.Object, createContext: () => null);

            var        ctx    = new MessagingContext(AS4Message.Create(um), MessagingContextMode.Receive);
            StepResult result = await sut.ExecuteAsync(ctx);

            string exception =
                result.MessagingContext?.Exception != null
                    ? $"Exception: {result.MessagingContext.Exception.Message}"
                    : null;

            string error =
                result.MessagingContext?.ErrorResult != null
                    ? $"Error: {result.MessagingContext.ErrorResult.Description}"
                    : null;

            Assert.True(
                result.MessagingContext?.ReceivingPMode != null,
                $"Step result's ReceivingPMode != null, {String.Join(", ", exception, error)}");

            return(result.MessagingContext?.ReceivingPMode);
        }
            private async Task <StepResult> ExerciseDeterminePModes(AS4Message message, params ReceivePMode[] pmodes)
            {
                var stubConfig = new Mock <IConfig>();

                stubConfig.Setup(c => c.GetReceivingPModes()).Returns(pmodes);
                var sut = new DeterminePModesStep(stubConfig.Object, GetDataStoreContext);

                return(await sut.ExecuteAsync(
                           new MessagingContext(message, MessagingContextMode.Receive)));
            }
 public GivenDeterminePModesStepFacts()
 {
     _mockedConfig = new Mock <IConfig>();
     _step         = new DeterminePModesStep(_mockedConfig.Object, GetDataStoreContext);
 }