Exemplo n.º 1
0
        public void Item_IsImplementedForGroceryItemInterface()
        {
            EachesGroceryItem item = new EachesGroceryItem("soup", 2.00M);

            EachesGroceryItemOrder order = new EachesGroceryItemOrder(item, 3);

            IGroceryItemOrder abstractOrder = order;

            Assert.AreEqual(item, abstractOrder.Item);
        }
        public void CreateOrder_CreatesOrderWithFiveItems_WhenFactoryCreatedWithCustomDefault()
        {
            WeighedGroceryItem item = new WeighedGroceryItem("bananas", 2.38M);

            WeighedGroceryItemOrderFactory factory =
                new WeighedGroceryItemOrderFactory(5);

            IGroceryItemOrder order = factory.CreateOrder(item);

            Assert.IsTrue(order is WeighedGroceryItemOrder);
            WeighedGroceryItemOrder weighedOrder = ((WeighedGroceryItemOrder)order);

            Assert.AreEqual(item, weighedOrder.Item);
            Assert.AreEqual(5, weighedOrder.Weight);
        }
        public void CreateOrder_CreatesOrderWithNoWeight_IfIsIWeighedGroceryItem()
        {
            WeighedGroceryItem item = new WeighedGroceryItem("bananas", 2.38M);

            WeighedGroceryItemOrderFactory factory =
                new WeighedGroceryItemOrderFactory();

            IGroceryItemOrder order = factory.CreateOrder(item);

            Assert.IsTrue(order is WeighedGroceryItemOrder);
            WeighedGroceryItemOrder weighedOrder = ((WeighedGroceryItemOrder)order);

            Assert.AreEqual(item, weighedOrder.Item);
            Assert.AreEqual(0.0M, weighedOrder.Weight);
        }
        public void CreateOrder_CreatesOrderWithFiveItems_WhenFactoryCreatedWithCustomDefault()
        {
            EachesGroceryItem item = new EachesGroceryItem("soup", 1.89M);

            EachesGroceryItemOrderFactory factory =
                new EachesGroceryItemOrderFactory(5);

            IGroceryItemOrder order = factory.CreateOrder(item);

            Assert.IsTrue(order is EachesGroceryItemOrder);
            EachesGroceryItemOrder eachesOrder = ((EachesGroceryItemOrder)order);

            Assert.AreEqual(item, eachesOrder.Item);
            Assert.AreEqual(5, eachesOrder.Count);
        }
        public void CreateOrder_CreatesOrderWithOneItem_IfIsIEachesGroceryItem()
        {
            EachesGroceryItem item = new EachesGroceryItem("soup", 1.89M);

            EachesGroceryItemOrderFactory factory =
                new EachesGroceryItemOrderFactory();

            IGroceryItemOrder order = factory.CreateOrder(item);

            Assert.IsTrue(order is EachesGroceryItemOrder);
            EachesGroceryItemOrder eachesOrder = ((EachesGroceryItemOrder)order);

            Assert.AreEqual(item, eachesOrder.Item);
            Assert.AreEqual(1, eachesOrder.Count);
        }
        public void CreateOrder_GetsWeightFromWeightSelector_WhenFactoryCreatedWithWeightSelector()
        {
            WeighedGroceryItem item = new WeighedGroceryItem("bananas", 2.38M);

            Mock <IWeightSelector> weightSelectorMock = new Mock <IWeightSelector>();

            weightSelectorMock.Setup(ws => ws.SelectWeight(item)).Returns(9.2M);

            WeighedGroceryItemOrderFactory factory =
                new WeighedGroceryItemOrderFactory(weightSelectorMock.Object);

            IGroceryItemOrder order = factory.CreateOrder(item);

            Assert.IsTrue(order is WeighedGroceryItemOrder);
            WeighedGroceryItemOrder weighedOrder = ((WeighedGroceryItemOrder)order);

            Assert.AreEqual(item, weighedOrder.Item);
            Assert.AreEqual(9.2M, weighedOrder.Weight);
        }
        public void CreateOrder_GetsCountFromCountSelector_WhenFactoryCreatedWithCountSelector()
        {
            EachesGroceryItem item = new EachesGroceryItem("soup", 1.89M);

            Mock <ICountSelector> countSelectorMock = new Mock <ICountSelector>();

            countSelectorMock.Setup(cs => cs.SelectCount(item)).Returns(9);

            EachesGroceryItemOrderFactory factory =
                new EachesGroceryItemOrderFactory(countSelectorMock.Object);

            IGroceryItemOrder order = factory.CreateOrder(item);

            Assert.IsTrue(order is EachesGroceryItemOrder);
            EachesGroceryItemOrder eachesOrder = ((EachesGroceryItemOrder)order);

            Assert.AreEqual(item, eachesOrder.Item);
            Assert.AreEqual(9, eachesOrder.Count);
        }
        public void CreateOrder_CreatesOrderFromOrderFactory()
        {
            WeighedGroceryItem bananas = new WeighedGroceryItem("bananas", 2.38M);

            IGroceryItemOrder bananasOrder =
                new WeighedGroceryItemOrder(bananas, 0.0M);
            Mock <IGroceryItemOrderFactory> orderFactoryMock =
                new Mock <IGroceryItemOrderFactory>();

            orderFactoryMock.Setup(of => of.CreateOrder(bananas))
            .Returns(bananasOrder);

            GroceryItemScanner scanner = new GroceryItemScanner(orderFactoryMock.Object);

            scanner.Items.Add(bananas);

            IGroceryItemOrder orderResult = scanner.CreateOrder("bananas");

            Assert.AreEqual(bananasOrder, orderResult);
        }
Exemplo n.º 9
0
 public IGroceryItemOrder Combine(IGroceryItemOrder otherOrder)
 {
     return(new GroceryItemOrderFake(Item, Price + otherOrder.Price));
 }
Exemplo n.º 10
0
 public abstract IGroceryItemOrder Combine(IGroceryItemOrder otherOrder);
Exemplo n.º 11
0
 public override IGroceryItemOrder Combine(IGroceryItemOrder otherOrder)
 {
     return(Combine((WeighedGroceryItemOrder)otherOrder));
 }
Exemplo n.º 12
0
 public override IGroceryItemOrder Combine(IGroceryItemOrder otherOrder)
 {
     return(Combine((EachesGroceryItemOrder)otherOrder));
 }