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"); }