public void TestBrokenSavingRule() { const string rulesFile = "brokenrules-saving.txt"; const string cartFile = "shoppingcart-5apples.txt"; const bool compound = true; var cp = new CartProcessor(rulesFile, cartFile, compound); var rules = ruleMapper.ReadRules(rulesFile); Assert.AreEqual(1, rules.Keys.Count); var cart = cartMapper.ReadShoppingList(cartFile); Assert.AreEqual(1, cart.Keys.Count); decimal saved; var total = cp.CalculateCartTotal(cart, rules, compound, out saved); Assert.AreEqual(5m, total); Assert.AreEqual(0m, saved); }
public void TestCalculateMultipleTotal() { const string rulesFile = "price-rules-many.txt"; const string cartFile = "shoppingcart-ApplesBananasOranges.txt"; const bool compound = true; var cp = new CartProcessor(rulesFile, cartFile, compound); var rules = ruleMapper.ReadRules(rulesFile); Assert.AreEqual(3, rules.Keys.Count); var cart = cartMapper.ReadShoppingList(cartFile); Assert.AreEqual(3, cart.Keys.Count); decimal saved; var total = cp.CalculateCartTotal(cart, rules, true, out saved); Assert.AreEqual(36m, total); Assert.AreEqual(10.85m, saved); }
public void TestTotalNonCompound() { const string rulesFile = "rules-compound.txt"; const string cartFile = "shoppingcart-ApplesBananasOranges.txt"; const bool compound = false; var cp = new CartProcessor(rulesFile, cartFile, compound); var rules = ruleMapper.ReadRules(rulesFile); Assert.AreEqual(3, rules.Keys.Count); var cart = cartMapper.ReadShoppingList(cartFile); Assert.AreEqual(3, cart.Keys.Count); decimal saved; var total = cp.CalculateCartTotal(cart, rules, compound, out saved); Assert.AreEqual(36m, total); Assert.AreEqual(13.25m, saved); }