示例#1
0
        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
        }
示例#2
0
        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);
        }