public void ShouldReturn45WhenScanning2Bs() { var map = new Dictionary <string, int> { { "B", 30 } }; var specialPriceProvider = new SpecialPrice("B", 2, 45); var checkout = new Checkout(map, specialPriceProvider); checkout.Scan("B"); checkout.Scan("B"); Assert.That(checkout.GetTotalPrice(), Is.EqualTo(45)); }
public void ShouldReturn130WhenScanning3As() { var map = new Dictionary <string, int> { { "A", 50 } }; var specialPriceProvider = new SpecialPrice("A", 3, 130); var checkout = new Checkout(map, specialPriceProvider); checkout.Scan("A"); checkout.Scan("A"); checkout.Scan("A"); Assert.That(checkout.GetTotalPrice(), Is.EqualTo(130)); }
public Checkout(IDictionary <string, int> stockToPriceMap, SpecialPrice specialPrice) { _stockToPriceMap = stockToPriceMap; _specialPrice = specialPrice; }