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); }
public IGroceryItemOrder Combine(IGroceryItemOrder otherOrder) { return(new GroceryItemOrderFake(Item, Price + otherOrder.Price)); }
public abstract IGroceryItemOrder Combine(IGroceryItemOrder otherOrder);
public override IGroceryItemOrder Combine(IGroceryItemOrder otherOrder) { return(Combine((WeighedGroceryItemOrder)otherOrder)); }
public override IGroceryItemOrder Combine(IGroceryItemOrder otherOrder) { return(Combine((EachesGroceryItemOrder)otherOrder)); }