public async void Pipeline_Mechanism_Produces_A_Simple_Check_Before_Returning_A_Result()
        {
            Runner runner = new Runner();

            var arguments = new HelloWorldArguments {
                Name = "   "
            };

            await new HelloWorldPipelineWithValidation().Run(arguments, runner).ConfigureAwait(false);

            arguments.MessageObjects(MessageFilter.Error).Should().ContainSingle(pipelineMessage =>
                                                                                 pipelineMessage.Message.Equals(HelloWorldPipelineMessages.NameMustBeProvided));
        }
        public async void Pipeline_Mechanism_Is_Able_To_Produce_A_Simple_Result()
        {
            Runner runner = new Runner();

            var arguments = new HelloWorldArguments()
            {
                Name = "Sergey"
            };

            await new HelloWorldPipeline().Run(arguments, runner).ConfigureAwait(false);

            arguments.StringResult().Should().Be("Hello, Sergey!",
                                                 $"we've passed name '{arguments.Name}' to the pipeline, and expect it to be displayed in phrase 'Hello, {arguments.Name}!'");
        }