Esempio n. 1
0
        public static int Checkout(string skus)
        {
            var checkoutPricer = new CheckoutPricer(
                new InMemoryPriceDatabase());

            return(checkoutPricer.CalculatePrice(skus));
        }
        public void ItHasTheCorrectPrice()
        {
            var priceDatabase = new Mock <IPriceDatabase>();

            priceDatabase.Setup(x => x.GetIndividualPriceFor('X'))
            .Returns(10);
            var checkoutPricer = new CheckoutPricer(priceDatabase.Object);

            Assert.That(checkoutPricer.CalculatePrice("X"), Is.EqualTo(10));
        }
        public void ThePriceIsMinusOne()
        {
            var priceDatabase = new Mock <IPriceDatabase>();

            priceDatabase.Setup(x => x.GetIndividualPriceFor('X'))
            .Throws(new SkuInvalidException('X'));
            var checkoutPricer = new CheckoutPricer(priceDatabase.Object);

            Assert.That(checkoutPricer.CalculatePrice("X"), Is.EqualTo(-1));
        }
        public void ThePriceIsTheSumOfTheTwoSkuPrices()
        {
            var priceDatabase = new Mock <IPriceDatabase>();

            priceDatabase.Setup(x => x.GetIndividualPriceFor('X'))
            .Returns(10);
            priceDatabase.Setup(x => x.GetIndividualPriceFor('Y'))
            .Returns(5);
            var checkoutPricer = new CheckoutPricer(priceDatabase.Object);

            Assert.That(checkoutPricer.CalculatePrice("XY"), Is.EqualTo(15));
        }
        public void BuyingSeveralItemsHasTheCorrectPrice(string skus, int correctPrice)
        {
            var checkoutPricer = new CheckoutPricer(priceDatabase.Object);

            Assert.That(checkoutPricer.CalculatePrice(skus), Is.EqualTo(correctPrice));
        }
        public void TheCustomerIsNotRippedOff(string skus, int correctPrice)
        {
            var checkoutPricer = new CheckoutPricer(priceDatabase.Object);

            Assert.That(checkoutPricer.CalculatePrice(skus), Is.EqualTo(correctPrice));
        }