public void Given_CollectionItemThatContains_Number_Price_DiscountRule_DiscountValue_For_A_B_C_When_CalculateTotalPriceCalled_Then_Should_Return_ExpectedTotalPrice(int numberOfA, int priceOfA, int discountRuleForA, int discountValueForA, int numberOfB, int priceOfB, int discountRuleForB, int discountValueForB,int numberOfC,int priceOfC,int discountRuleForC,int discountValueForC, int expectedTotalPrice) { var checkOut = new CheckOut(); var itemList=new Dictionary<Item, int>(); itemList.Add(new Item {DiscountRule = discountRuleForA,DiscountValue = discountValueForA,Name = "A",Price = priceOfA},numberOfA ); itemList.Add(new Item {DiscountRule = discountRuleForB,DiscountValue = discountValueForB,Name = "B",Price = priceOfB},numberOfB ); itemList.Add(new Item {DiscountRule = discountRuleForC,DiscountValue = discountValueForC,Name = "C",Price = priceOfC},numberOfC ); int totalPrice = checkOut.CalculateTotalPrice(itemList); Assert.That(totalPrice, Is.EqualTo(expectedTotalPrice)); }
public void Given_CollectionItemThatContains_Number_Price_DiscountRule_DiscountValue_For_A_B_C_When_CalculateTotalPriceCalled_Then_Should_Return_ExpectedTotalPrice(int numberOfA, int priceOfA, int discountRuleForA, int discountValueForA, int numberOfB, int priceOfB, int discountRuleForB, int discountValueForB, int numberOfC, int priceOfC, int discountRuleForC, int discountValueForC, int expectedTotalPrice) { var checkOut = new CheckOut(); var itemList = new Dictionary <Item, int>(); itemList.Add(new Item { DiscountRule = discountRuleForA, DiscountValue = discountValueForA, Name = "A", Price = priceOfA }, numberOfA); itemList.Add(new Item { DiscountRule = discountRuleForB, DiscountValue = discountValueForB, Name = "B", Price = priceOfB }, numberOfB); itemList.Add(new Item { DiscountRule = discountRuleForC, DiscountValue = discountValueForC, Name = "C", Price = priceOfC }, numberOfC); int totalPrice = checkOut.CalculateTotalPrice(itemList); Assert.That(totalPrice, Is.EqualTo(expectedTotalPrice)); }