Exemplo n.º 1
0
        public void CanInjectStepAfterAnotherStep()
        {
            var pipeline = new DefaultPipeline()
                .OnReceive(new Step1())
                .OnReceive(new Step2())
                .OnReceive(new Step3());

            var injector = new PipelineStepInjector(pipeline)
                .OnReceive(new InjectedStep(), PipelineRelativePosition.After, typeof(Step2));

            var receivePipeline = injector.ReceivePipeline().ToArray();

            Assert.That(receivePipeline.Select(s => s.GetType()), Is.EqualTo(new[]
            {
                typeof(Step1),
                typeof(Step2),
                typeof(InjectedStep),
                typeof(Step3),
            }));
        }