Example #1
0
        public IBasketVisitor Accept(IBasketVisitor visitor)
        {
            //var v = visitor;
            //foreach (var element in _elements)
            //{
            //    v = element.Accept(v);
            //}

            return(_elements.Aggregate(visitor, (v, element) => element.Accept(v)));
        }
Example #2
0
        public void AcceptReturnCorrectResponse(
            IBasketVisitor expected
            , IBasketVisitor visitorStub
            , Discount sut
            )
        {
            A.CallTo(() => visitorStub.Visit(sut)).Returns(expected);

            var actual = sut.Accept(visitorStub);

            Assert.Same(expected, actual);
        }
        public void VisitorIsCorrect()
        {
            var expected = new Mock <IBasketVisitor>
            {
                DefaultValue = DefaultValue.Mock
            }.Object;
            var sut = new BasketVisitorPipe(expected);

            IBasketVisitor actual = sut.Visitor;

            Assert.Same(expected, actual);
        }
Example #4
0
        public void AcceptReturnsCorrectResponse()
        {
            var r = new MockRepository(MockBehavior.Default)
            {
                DefaultValue = DefaultValue.Mock
            };
            var expected = r.Create <IBasketVisitor>().Object;
            var sut      = new BasketItem("Dummy product", 1, 1);

            var visitorStub = r.Create <IBasketVisitor>();

            visitorStub.Setup(v => v.Visit(sut)).Returns(expected);
            IBasketVisitor actual = sut.Accept(visitorStub.Object);

            Assert.Same(expected, actual);
        }
Example #5
0
        public void AcceptReturnsCorrectResult(
            [Frozen] IBasketVisitor v1
            , [Frozen] IBasketVisitor v2
            , [Frozen] IBasketVisitor v3
            , [Frozen] IBasketElement e1Stub
            , [Frozen] IBasketElement e2Stub
            , Basket sut
            )
        {
            // Fixture setup
            A.CallTo(() => e1Stub.Accept(v1)).Returns(v2);
            A.CallTo(() => e2Stub.Accept(v2)).Returns(v3);

            // Exercise system
            var actual = sut.Accept(v1);

            // Verify outcome
            Assert.Same(v3, actual);
            // Fixture teardown
        }
Example #6
0
 public IBasketVisitor Accept(IBasketVisitor visitor)
 {
     return(visitor.Visit(this));
 }
Example #7
0
 public BasketVisitorPipe(IBasketVisitor visitor)
 {
     this.visitor = visitor;
 }
Example #8
0
 public IBasketVisitor Accept(IBasketVisitor visitor)
 {
     return(this.elements.Aggregate(visitor, (v, e) => e.Accept(v)));
 }
Example #9
0
 public IBasketVisitor Accept(IBasketVisitor visitor)
 {
     throw new System.NotImplementedException();
 }