public void CalculateNewPrice_AppliesInnerSpecialToAllItems_WhenExactAmountOfItemsAreBought() { // $1 per item EachesGroceryItemSpecialFake innerSpecial = new EachesGroceryItemSpecialFake(1.00M); LimitedEachesGroceryItemSpecial special = new LimitedEachesGroceryItemSpecial(innerSpecial, 5); Assert.AreEqual(5.00M, special.CalculateNewPrice(1.89M, 5)); }
public void CalculateNewPrice_AppliesInnerSpecialOnlyToSpecifiedNumberOfItems_WhenExtraItemsAreBought() { // $1 per item EachesGroceryItemSpecialFake innerSpecial = new EachesGroceryItemSpecialFake(1.00M); LimitedEachesGroceryItemSpecial special = new LimitedEachesGroceryItemSpecial(innerSpecial, 5); // first 5 should be 1.00 each = 5.00 // last 2 should be at 1.89 = 3.78 // total should be 8.78 Assert.AreEqual(8.78M, special.CalculateNewPrice(1.89M, 7)); }