public void Modify_When_Configuration_Is_Passed_Should_Return_New_Processors_Instead_Of_Old() { IProcessor processor1 = new Mock <IProcessor>().Object; IProcessor processor2 = new Mock <IProcessor>().Object; IProcessor processor3 = new Mock <IProcessor>().Object; IProcessor processor4 = new Mock <IProcessor>().Object; IModificationConfiguration configuration = new ModificationConfigurationFacade(new[] { new SubstituteProcessorModification(processor1.GetMatcher(), processor3.ThenProcessor(processor3)), new SubstituteProcessorModification(processor2.GetMatcher(), processor4.ThenProcessor(processor3)), }); processor1.ThenProcessor(processor2).ToPipeline().Modify(configuration) .GetProcessors().Should().Equal(processor3, processor3, processor4, processor3); }
public void ModifiedPipeline_ShouldReturnNewProcessorsInsteadOfExistingFew_WhenSubstitutionsDefinedInConfiguration() { IProcessor processor1 = new Mock <IProcessor>().Object; IProcessor processor2 = new Mock <IProcessor>().Object; IProcessor processor3 = new Mock <IProcessor>().Object; IProcessor processor4 = new Mock <IProcessor>().Object; IModificationConfiguration configuration = new ModificationConfigurationFacade(new[] { new SubstituteProcessorModification(processor1.GetMatcher(), processor3.ThenProcessor(processor3)), new SubstituteProcessorModification(processor2.GetMatcher(), processor4.ThenProcessor(processor3)), }); new ModifiedPipeline(processor1.ThenProcessor(processor2).ToPipeline(), configuration) .GetProcessors().Should().Equal(processor3, processor3, processor4, processor3); }