public void PipeReturnsCorrectResult() { // Fixture setup var v1 = this.CreateValue(); var v2 = this.CreateValue(); var v3 = this.CreateValue(); var v4 = this.CreateValue(); var p1 = new Mock <IPipe <T> >(); var p2 = new Mock <IPipe <T> >(); var p3 = new Mock <IPipe <T> >(); p1.Setup(p => p.Pipe(v1)).Returns(v2); p2.Setup(p => p.Pipe(v2)).Returns(v3); p3.Setup(p => p.Pipe(v3)).Returns(v4); var sut = new CompositePipe <T>(p1.Object, p2.Object, p3.Object); // Exercise system var actual = sut.Pipe(v1); // Verify outcome Assert.Equal(v4, actual); // Teardown }
public void AddTotalToSimpleBasket() { // Fixture setup var basket = new Basket( new BasketItem("Chocolate", 50, 2), new BasketItem("Rice", 30, 1), new BasketItem("Wine", 110, 1)); var pipe = new CompositePipe <Basket>( new BasketVisitorPipe( new BasketTotalVisitor())); // Exercise system var actual = pipe.Pipe(basket); // Verify outcome Assert.Equal( 240, actual.OfType <BasketTotal>().Single().Total); // Teardown }
public void Should_CallPipe_When_PipelineIsCreated() { var mockPipe = new CompositePipe <AnalysisResults>(); var mockPipeline = Mock.Of <IPipeline <AnalysisResults> >( pl => pl.Create() == mockPipe ); var builder = new PipelineFactoryBuilder() .SetPipeline(mockPipeline); var mockPipelineFactory = builder.Build(); var sut = new RepositoryAnalyser(mockPipelineFactory); var result = sut.Analyse(builder.RepositoryUrl, builder.RepositoryDestination); var expected = mockPipe.Pipe(new AnalysisResults()); Assert.Equal(expected, result); }