public async Task Safe_Execution_Is_Reached_When_Pipeline_Context_Has_Ended_Parameter_Set_To_False() { var reachedExecution = false; var processor = new TestProcessor(() => reachedExecution = true); await Bag.Create().Run(processor).ConfigureAwait(false); reachedExecution.Should().BeTrue("pipeline was not ended"); }
public void After_ShouldWorkProperly_WithGenericType() { var processor1 = new TestProcessor(() => { }); var configuration = new ChainingModification() .After <TestProcessor, TestProcessor>() .GetConfiguration(); processor1.ToAnArray().ToPipeline().Modify(configuration) .GetProcessors().Should().HaveCount(2).And.Subject.First().Should().Be(processor1); }
public void After_ShouldWorkProperly_WithOriginalInstanceAndPassedProcessor() { var processor1 = new TestProcessor(); var processor2 = new TestProcessor(); var configuration = new ChainingModification() .After(processor1, processor2) .GetConfiguration(); processor1.ToAnArray().ToPipeline().Modify(configuration) .GetProcessors().Should().Equal(processor1, processor2); }
public void Before_ShouldWorkProperly_WithTypeOfOriginalAndPassedProcessor() { var processor1 = new TestProcessor(); var processor2 = new TestProcessor(); var configuration = new ChainingModification() .Before(typeof(TestProcessor), processor2) .GetConfiguration(); processor1.ToAnArray().ToPipeline().Modify(configuration) .GetProcessors().Should().Equal(processor2, processor1); }
public async Task Safe_Execution_Is_Not_Reached_When_Pipeline_Context_Has_Ended_Parameter_Set_To_True() { var reachedExecution = false; var args = new Bag() { Ended = true }; var processor = new TestProcessor(() => reachedExecution = true); await processor.Run(args).ConfigureAwait(false); reachedExecution.Should().BeFalse("pipeline was ended"); }
public void After_ShouldWorkProperly_WithGenericOriginalAndPassedProcessors() { var processor1 = new TestProcessor(); var processor2 = new TestProcessor(); var processor3 = new TestProcessor(); var configuration = new ChainingModification() .After <TestProcessor>(processor2.ThenProcessor(processor3)) .GetConfiguration(); processor1.ToAnArray().ToPipeline().Modify(configuration) .GetProcessors().Should().Equal(processor1, processor2, processor3); }
public void Remove_ShouldWorkProperly_WithOriginalInstance() { var processor1 = new TestProcessor(); var processor2 = new TestProcessor(); var processor3 = new TestProcessor(); var configuration = Modification.Configure() .Remove(processor1) .GetConfiguration(); processor1.ThenProcessor(processor2).ThenProcessor(processor3).ToPipeline().Modify(configuration) .GetProcessors().Should().Equal(processor2, processor3); }
public void Before_ShouldWorkProperly_WithOriginalInstanceAndPassedProcessors() { var processor1 = new TestProcessor(); var processor2 = new TestProcessor(); var processor3 = new TestProcessor(); var configuration = Modification.Configure() .Before(processor1, processor2.ThenProcessor(processor3)) .GetConfiguration(); processor1.ToAnArray().ToPipeline().Modify(configuration) .GetProcessors().Should().Equal(processor2, processor3, processor1); }
public void Insert_ShouldPasteProperlyIntoIndexTwo_WhenInstanceIsPassedIntoNonEmptyPipeline() { var processor1 = new TestProcessor(); var processor2 = new TestProcessor(); var processor3 = new TestProcessor(); var configuration = Modification.Configure( x => x.Insert(2, processor2) ) .GetConfiguration(); processor1.ThenProcessor(processor3).ToPipeline().Modify(configuration) .GetProcessors().Should().Equal(processor1, processor3, processor2); }
public void Insert_ShouldWorkProperly_WhenTwoInstancesArePassedIntoOneProcessorPipeline() { var processor1 = new TestProcessor(); var processor2 = new TestProcessor(); var processor3 = new TestProcessor(); var configuration = Modification.Configure( x => x.Insert(0, processor1, processor2) ) .GetConfiguration(); Pipeline.From(processor3).Modify(configuration) .GetProcessors().Should().Equal(processor1, processor2, processor3); }
public void Instance_ReturnsTrue_WhenTheSameTypeIsPassed() { var processor = new TestProcessor(() => { }); new ProcessorMatcherByType(typeof(TestProcessor)).Matches(processor).Should().BeTrue(); }