예제 #1
0
        public void ItCanUseAFactoryForTasks()
        {
            var sut     = GetPipeline <FirstTestSubject>();
            var subject = new FirstTestSubject {
                Value = 5
            };

            sut.Subject(subject);
            sut.Do <Increment>();

            subject.Value.Should().Be(6);
        }
예제 #2
0
        public void ItPerformsTasks()
        {
            var sut     = GetPipeline <FirstTestSubject>();
            var subject = new FirstTestSubject {
                Value = 0
            };

            sut.Subject(subject);
            sut.Do <Increment>();

            subject.Value.Should().Be(1);
        }
예제 #3
0
        public async void PipelinesCanExecuteAsyncTasks()
        {
            var sut     = GetPipeline <FirstTestSubject>();
            var subject = new FirstTestSubject {
                Value = 5
            };

            sut.Subject(subject);
            await sut.DoAsync <IncrementAsync>();

            subject.Value.Should().Be(6);
        }
        public void ItCanAddTasks()
        {
            var pipeline = MakePipeline.ForSubject <FirstTestSubject>()
                           .With <Increment>(() => new Increment())
                           .Build();

            var subject = new FirstTestSubject();

            pipeline.Subject(subject);
            pipeline.Do <Increment>();

            subject.Value.Should().Be(1);
        }
예제 #5
0
        public void ThePipelineCanBeTested()
        {
            var pipeline = A.Fake <IPipeline <FirstTestSubject> >();
            var example  = new ThingThatUsesThePipeline(pipeline);


            var subject = new FirstTestSubject();

            example.Run(subject);

            A.CallTo(() => pipeline.Subject(subject)).MustHaveHappened()
            .Then(A.CallTo(() => pipeline.Do <Increment>()).MustHaveHappened())
            .Then(A.CallTo(() => pipeline.Do <Square>()).MustHaveHappened());
        }
예제 #6
0

        
예제 #7
0
 public void Run(FirstTestSubject subject)
 {
     pipeline.Subject(subject);
     pipeline.Do <Increment>();
     pipeline.Do <Square>();
 }