Esempio n. 1
0
        static void Main()
        {
            Database ds = new Database();

            CheckoutKata.Checkout co = new CheckoutKata.Checkout(new Repository(ds));

            Console.WriteLine("Begin scanning items. Type 'Total' when complete");

            bool scanning = true;

            while (scanning)
            {
                var input = Console.ReadLine();

                if (input != "Total")
                {
                    co.Scan(input);
                }
                else
                {
                    scanning = false;

                    var totalprice = co.GetTotalPrice();
                    Console.WriteLine($"The total price is: {totalprice}");
                    Console.Read();
                }
            }
        }
Esempio n. 2
0
        public void WhenSkuIsA_CheckoutShouldReturn50()
        {
            var checkout = new Checkout(new OfferCalculator());

            checkout.Scan("A");
            Assert.AreEqual(50, checkout.GetTotalPrice());
        }
Esempio n. 3
0
        public void WhenScanningTwoBs_CheckoutShouldApplyOffer()
        {
            var checkout = new Checkout(new OfferCalculator());

            checkout.Scan("B");
            checkout.Scan("B");
            Assert.AreEqual(45, checkout.GetTotalPrice());
        }
Esempio n. 4
0
        public void WhenScanningMulitpleAs_CheckoutShouldCountSumOfAs()
        {
            var checkout = new Checkout(new OfferCalculator());

            checkout.Scan("A");
            checkout.Scan("A");
            Assert.AreEqual(100, checkout.GetTotalPrice());
        }
Esempio n. 5
0
        static void Main(string[] args)
        {
            IList <ISpecialPrice> specialPrices = new List <ISpecialPrice>
            {
                new SpecialPrice(2, 2, 45),
                new SpecialPrice(1, 3, 130),
            };
            IList <Product> products = new List <Product>
            {
                new Product(1, "A", 50, specialPrices[1]),
                new Product(2, "B", 30, specialPrices[0]),
                new Product(3, "C", 10, null),
                new Product(4, "D", 20, null),
            };
            ICheckSpecialPrice specialPrice = new CheckSpecialPrice();

            ICheckout checkout = new Checkout(specialPrice);

            checkout.ScanItem(products[1]);
            checkout.ScanItem(products[1]);
            checkout.ScanItem(products[0]);
            checkout.ScanItem(products[0]);
            checkout.ScanItem(products[0]);

            checkout.ScanItem(products[0]);
            checkout.ScanItem(products[0]);
            checkout.ScanItem(products[0]);
            checkout.ScanItem(products[0]);
            checkout.ScanItem(products[0]);
            checkout.ScanItem(products[1]);
            var total = checkout.GetTotalPrice();



            Console.WriteLine("TOTAL IS: " + total);
        }