public void CalculateDiscountToApply_LessThanQualifyingQuantity_NoDiscount() { var mockStockItem = new Mock <IStockItem>(); mockStockItem.Setup(m => m.UnitPrice).Returns(20m); var promotion = new FixedPricePromotion(qualifyingQuantity: 3, price: 40); var result = promotion.CalculateDiscountToApply(mockStockItem.Object, 2); Assert.That(result, Is.EqualTo(0m)); }
public static void Price_VariousScenarios_PriceComputedCorrectly(int quantity, decimal rate, decimal expectedUnitPrice, string expectedItemId) { // Arrange var promotion = new FixedPricePromotion(expectedItemId, quantity, rate); // Act var actualPrice = promotion.Price; var actualUnitPrice = promotion.UnitPrice; var actualItemId = promotion.ItemId; //Assert Assert.That(actualPrice, Is.EqualTo(rate)); Assert.That(actualUnitPrice, Is.EqualTo(expectedUnitPrice)); Assert.That(actualItemId, Is.EqualTo(expectedItemId)); }