public void GetPrice_ArrayHasZeroValues_Returns0()
        {
            //Arrange
            int[] cart = { };

            var bookPriceCalculator = new BookPriceCalculator(cart);

            //Action
            var totalPrice = bookPriceCalculator.GetPrice();

            //Assert
            Assert.AreEqual(0, totalPrice);
        }
        public void GetPrice_2SetsOf2BooksSame_ReturnsSpecialDiscount()
        {
            //Arrange
            int[] cart =
            {
                1, 2, 2, 1
            };

            var bookPriceCalculator = new BookPriceCalculator(cart);

            //Action
            var totalPrice = bookPriceCalculator.GetPrice();

            //Assert
            Assert.AreEqual(2 * (8 * 2 * .95), totalPrice);
        }
        public void GetPrice_FiveValuesOfSameBook_ReturnsSumofPrices()
        {
            //Arrange
            int[] cart =
            {
                1, 1, 1, 1, 1
            };

            var bookPriceCalculator = new BookPriceCalculator(cart);

            //Action
            var totalPrice = bookPriceCalculator.GetPrice();

            //Assert
            Assert.AreEqual(8 * 5, totalPrice);
        }
        public void GetPrice_OneValue_ReturnsPriceOfThatBook()
        {
            //Arrange
            int[] cart =
            {
                1
            };

            var bookPriceCalculator = new BookPriceCalculator(cart);

            //Action
            var totalPrice = bookPriceCalculator.GetPrice();

            //Assert
            Assert.AreEqual(8, totalPrice);
        }
Exemple #5
0
        public void GetPrice_FiveValuesOfDifferentBook_ReturnsPriceWith25PercentDiscount()
        {
            //Arrange
            int[] cart =
            {
                1, 2, 3, 4, 5
            };

            var bookPriceCalculator = new BookPriceCalculator(cart);

            //Action
            var totalPrice = bookPriceCalculator.GetPrice();

            //Assert
            Assert.AreEqual(8 * 5 * .75, totalPrice);
        }
        public void GetPrice_2BooksSame4BooksDifferent_ReturnsSpecialDiscount()
        {
            //Arrange
            int[] cart =
            {
                0, 1, 1, 2, 3, 4
            };

            var bookPriceCalculator = new BookPriceCalculator(cart);

            //Action
            var totalPrice = bookPriceCalculator.GetPrice();

            //Assert
            Assert.AreEqual(8 + (8 * 5 * 0.75), totalPrice,
                            "Total was supposed to be " + (8 + (8 * 5 * 0.75)) + "but was " + totalPrice);
        }
        public void GetPrice_Special_ReturnsSpecialDiscount()
        {
            //Arrange
            int[] cart =
            {
                0, 0, 0,
                1, 1,
                2, 2, 2, 2,
                3, 3,
                4
            };

            var bookPriceCalculator = new BookPriceCalculator(cart);

            //Action
            var totalPrice = bookPriceCalculator.GetPrice();

            //Assert
            Assert.AreEqual((8 * 4 * 0.8) + (8 * 2 * 0.95) + 8 + (8 * 5 * .75), totalPrice);
        }
        public void GetPrice_IncrementalBasket_ReturnsSpecialDiscount()
        {
            //Arrange
            int[] cart =
            {
                0,
                1, 1,
                2, 2, 2,
                3, 3, 3, 3,
                4, 4, 4, 4, 4
            };

            var bookPriceCalculator = new BookPriceCalculator(cart);

            //Action
            var totalPrice = bookPriceCalculator.GetPrice();

            //Assert
            Assert.AreEqual(100, totalPrice);
        }
 public void Init()
 {
     this._bookPriceCalculator = new BookPriceCalculator();
 }