static void Main(string[] args) { List <string> PromotionTYpes = new List <string>() { "3 of A's for 130", "2 of B's for 120", "C & B for 130" }; //Adding the order details Order order1 = new Order(); order1.SKUID = 'A'; order1.Units = 3; Order order2 = new Order(); order2.SKUID = 'B'; order2.Units = 1; //Adding the order object to list of orders List <Order> Orders = new List <Order>(); Orders.Add(order1); Orders.Add(order2); //Adding the price details in the dictionary Dictionary <char, int> price = new Dictionary <char, int>(); price['A'] = 130; price['B'] = 2; Promotion_Calculator p = new Promotion_Calculator(); //Calling the method to get the total price of the order int Total = p.PromotionCalculation(price, PromotionTYpes, Orders); Console.WriteLine(Total); }
public void Promotion_Calculation_NegativeTest() { Promotion_Calculator calculator = new Promotion_Calculator(); List <string> PromotionTYpes = new List <string>() { "3 of A's for 130", "2 of B's for 120", "C & B for 130" }; Order order1 = new Order(); order1.SKUID = 'A'; order1.Units = 3; Order order2 = new Order(); order2.SKUID = 'B'; order2.Units = 1; List <Order> Orders = new List <Order>(); Orders.Add(order1); Orders.Add(order2); Dictionary <char, int> price = new Dictionary <char, int>(); price['A'] = 130; price['B'] = 2; int ActualTotal = calculator.PromotionCalculation(price, PromotionTYpes, Orders); int ExpectedTotal = 122; Assert.AreNotEqual(ExpectedTotal, ActualTotal); }
public void Promotion_Segregations_PositiveTest() { Promotion_Calculator calculator = new Promotion_Calculator(); List <string> PromotionTYpes = new List <string>() { "3 of A's for 130" }; Promotion_segregation promotion_Segregation = new Promotion_segregation(); promotion_Segregation.Main_SKUID = 'A'; promotion_Segregation.NumberOfUnits = 3; promotion_Segregation.Price = 130; List <Promotion_segregation> Expectedpromotion_Segregations = new List <Promotion_segregation>(); Expectedpromotion_Segregations.Add(promotion_Segregation); List <Promotion_segregation> Actualpromotion_Segregations = calculator.Promotion_Segregations(PromotionTYpes); Assert.AreEqual(Expectedpromotion_Segregations, Actualpromotion_Segregations); }