Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
 public Checkout(IDictionary <string, int> stockToPriceMap, SpecialPrice specialPrice)
 {
     _stockToPriceMap = stockToPriceMap;
     _specialPrice    = specialPrice;
 }