コード例 #1
0
        public void MessageShouldBeHandledCorrectlyByEachHandlerSequentially()
        {
            var msg      = new BasicMessage();
            var pipeline = PipelineBuilder.BuildBasicPipeline <BasicMessage>();

            pipeline.Register(new FirstMessageHandler())
            .Register(new SecondMessageHandler())
            .Register(new ThirdMessageHandler());

            pipeline.HandleMessage(msg);

            msg.FirstHandlerDone.Should().BeTrue();
            msg.SecondHandlerDone.Should().BeTrue();
            msg.ThirdHandlerDone.Should().BeTrue();

            msg.HandledBy.Count.Should().Be(3);
            msg.HandledBy[0].Should().Be("First");
            msg.HandledBy[1].Should().Be("Second");
            msg.HandledBy[2].Should().Be("Third");
        }