public void CreateOrder_ThrowsException_IfIsNotEachesGroceryItem() { Mock <IGroceryItem> genericItemMock = new Mock <IGroceryItem>(); WeighedGroceryItemOrderFactory factory = new WeighedGroceryItemOrderFactory(); Assert.ThrowsException <InvalidGroceryItemTypeException>(() => factory.CreateOrder(genericItemMock.Object)); }
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_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); }