Exemplo n.º 1
0
        public void Discount_Is_Not_Applied_If_Product_Is_Not_currently_on_Sale()
        {
            _storeRepository = new Mock <IStoreRepository>();
            Dictionary <int, ISale> discounts = new Dictionary <int, ISale>(3);

            discounts.Add(2141, new Sale(2141, 0.99m));
            discounts.Add(4011, new Sale(4011, 0.99m));
            _storeRepository.Setup(foo => foo.GetSalePrices()).Returns(discounts);

            _salePrice = new SalePrice(_storeRepository.Object);
            KeyValuePair <int, int> cartItem1 = new KeyValuePair <int, int>(2101, 3);
            decimal finalPrice = _salePrice.Apply(cartItem1, 2);

            Assert.Equal(6, finalPrice, 2);
        }
Exemplo n.º 2
0
        public void Can_Apply_Discount()
        {
            _storeRepository = new Mock <IStoreRepository>();
            Dictionary <int, ISale> discounts = new Dictionary <int, ISale>(2);

            discounts.Add(2141, new Sale(2141, 0.99m));
            discounts.Add(4011, new Sale(4011, 0.99m));
            _storeRepository.Setup(foo => foo.GetSalePrices()).Returns(discounts);

            _salePrice = new SalePrice(_storeRepository.Object);
            KeyValuePair <int, int> cartItem1 = new KeyValuePair <int, int>(2141, 3);
            decimal finalPrice = _salePrice.Apply(cartItem1, 3);

            Assert.Equal(2.97m, finalPrice, 2);
        }