Пример #1
0
        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);
        }
Пример #5
0
        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();
        }