コード例 #1
0
ファイル: CheckoutTests.cs プロジェクト: MartinT86/checkout
        public void GivenNoScannedItems_TotalReturnsZero()
        {
            const decimal expectedTotal       = 0;
            var           priceReader         = new MemoryPriceReader();
            var           promotionCalculator = new PromotionCalculator();
            var           checkout            = new Checkout(priceReader, promotionCalculator);

            var total = checkout.Total();

            Assert.AreEqual(expectedTotal, total);
        }
コード例 #2
0
ファイル: CheckoutTests.cs プロジェクト: MartinT86/checkout
        public void ScanOneProduct_TotalReturnsPrice()
        {
            const decimal expectedTotal       = 0.5m;
            var           priceReader         = new MemoryPriceReader();
            var           promotionCalculator = new PromotionCalculator();
            var           checkout            = new Checkout(priceReader, promotionCalculator);
            var           item = new Item("A99");

            checkout.Scan(item);
            var total = checkout.Total();

            Assert.AreEqual(expectedTotal, total);
        }
コード例 #3
0
ファイル: CheckoutTests.cs プロジェクト: MartinT86/checkout
        public void ScanTwoProducts_TotalReturnsPriceOfBoth()
        {
            const decimal expectedTotal       = 0.8m;
            var           priceReader         = new MemoryPriceReader();
            var           promotionCalculator = new PromotionCalculator();
            var           checkout            = new Checkout(priceReader, promotionCalculator);
            var           itemA = new Item("A99");
            var           itemB = new Item("B15");

            checkout.Scan(itemA);
            checkout.Scan(itemB);
            var total = checkout.Total();

            Assert.AreEqual(expectedTotal, total);
        }
コード例 #4
0
        public void TwoB15_Returns045()
        {
            const decimal expectedTotal = 0.45m;
            var           priceReader   = new MemoryPriceReader();
            var           promotions    = new List <IPromotion>
            {
                new A99Promotion(),
                new B15Promotion()
            };
            var promotionCalculator = new PromotionCalculator(promotions);
            var checkout            = new Checkout(priceReader, promotionCalculator);
            var item = new Item("B15");

            checkout.Scan(item);
            checkout.Scan(item);
            var total = checkout.Total();

            Assert.AreEqual(expectedTotal, total);
        }