public void ItemConditionalDiscount_MinItems_ToDiscountOnAll_SuccessAndFailureRunner(Guid itemID, double discount, int minItems, bool success) { ItemConditionalDiscount_MinItems_ToDiscountOnAll DicountObj = new ItemConditionalDiscount_MinItems_ToDiscountOnAll(itemID, DateTime.MaxValue, minItems, discount, MOCK_NAME_FOR_DESCRIPTION); Dictionary <Guid, Tuple <int, double> > outCart = DicountObj.GetUpdatedPricesFromCart(testCart); validateNothingButTargetItemChanged(outCart, testCart, itemID); Assert.AreEqual(testCart[itemID].Item1, outCart[itemID].Item1); if (success) { Assert.AreEqual(testCart[itemID].Item2 * (1 - discount), outCart[itemID].Item2); } else { Assert.AreEqual(testCart[itemID].Item2, outCart[itemID].Item2); } }