private static int GetTotalPrice(List <Product> products) { var finalPrice = 0; finalPrice += new ProductA <List <Product> >(products.Where(x => x.Id == "A").ToList()).CalculateProductPrice(); finalPrice += new ProductB <List <Product> >(products.Where(x => x.Id == "B").ToList()).CalculateProductPrice(); finalPrice += new ProductCnD <List <Product> >(products.Where(x => x.Id == "C" || x.Id == "D").ToList()).CalculateProductPrice(); return(finalPrice); }
public void ProductCnDTestTotalPrice_Returns_Zero_OnNoProduct() { //Arrange List <Product> products = new List <Product>(); //Assert var value = new ProductCnD <List <Product> >(products).CalculateProductPrice(); //Act value.Equals(0); }
public void ProductCnDTestTotalPrice_Returns_ProductD_NonPromotion_Price() { //Arrange List <Product> products = new List <Product>(); products.Add(new Product("D", 1)); //Assert var value = new ProductCnD <List <Product> >(products).CalculateProductPrice(); //Act value.Equals(15); }