public void Discounting_5Cost_3Discont_2Result() { //arrange //var basket = new Basket(); var product = RandomData.Create <Candy>(); var discounts = RandomData.Create <Dictionary <int, Discount> >(); var basket = FakeUtils.Resolve <Basket>(); basket.FakeMethod(nameof(Basket.GetDiscount), 3); basket.FakeMethod(nameof(Basket.GetCost), 5); //act var totalCost = basket.Discounting(product, discounts); //assert Assert.Equal(2, totalCost); }
public void GetDiscount_NoDiscount_0Result() { //arrange var basket = new Basket(); var discounts = new Dictionary <int, Discount>(); var discount = FakeUtils.Resolve <Discount>().FakeMethod(nameof(Discount.CountPriceWithDiscount), 1); discounts.Add(1, discount); var product = RandomData.Create <Candy>(); product.Id = 2; //act var totalDiscount = basket.GetDiscount(product, discounts); //assert Assert.Equal(0, totalDiscount); }
public void GetDiscount_IsPresent_Result(int discountCost, int productCount, int result) { //arrange var basket = new Basket(); var discounts = new Dictionary <int, Discount>(); var discount = FakeUtils.Resolve <Discount>().FakeMethod(nameof(Discount.CountPriceWithDiscount), discountCost); discounts.Add(1, discount); var product = RandomData.Create <Candy>(); product.Id = 1; product.Count = productCount; //act var totalDiscount = basket.GetDiscount(product, discounts); //assert Assert.Equal(result, totalDiscount); }