public void DeveryScenario_Should_Work() { // Arrange var shoppingCart = new ShoppingCart(1); var category = new FirstCategory(1, "Food"); var apple = new FirstProduct(1, "Apple", 100, category); var almonds = new FirstProduct(1, "Almonds", 150, category); shoppingCart.AddProduct(apple, 3); shoppingCart.AddProduct(almonds); var campaign1 = new CampaignDiscountByPercentage(1, "Food Campaign 1", 20, category, 3); var campaign2 = new CampaignDiscountByPercentage(2, "Food Campaign 2", 50, category, 5); var campaign3 = new CampaignDiscountByAmount(3, "Food Campaign 3", 5, category, 0); var campaigns = new List <CampaignBase>() { campaign1, campaign2, campaign3 }; var coupon = new CouponDiscountByPercentage(1, 100, 10); shoppingCart.AddCoupon(coupon); var delivery = new DeliverDynamic((decimal)2.99, 5, 3); // Act shoppingCart.ApplyDiscounts(campaigns); shoppingCart.ApplayDelivery(delivery); // Assert Assert.True(shoppingCart._isCouponApplied == true && shoppingCart._isCampaignApplied == true); }
public void Create_Product_ShouldWork_Tehory(int id, string title, decimal price) { // Arrange CategoryBase category = new FirstCategory(1, "First"); // Act var test = new FirstProduct(id, title, price, category); // Assert Assert.True(test != null && test._id == id && test._title.Equals(title)); }
public void AddProduct_ShouldWork() { // Arrange var test = new ShoppingCart(1); var category = new FirstCategory(1, "test"); var product = new FirstProduct(1, "test", 1, category); // Act test.AddProduct(product); // Assert Assert.True(test._cartCoupons != null && test._selectedProducts.Contains(product)); }
public void DeleteProduct_ShouldWork_Theory(int id, int count) { // Arrange var test = new ShoppingCart(1); var category = new FirstCategory(1, "test"); var product = new FirstProduct(1, "test", 1, category); test.AddProduct(product); // Act test.DeleteProduct(id, count); // Assert Assert.True(test._selectedProducts.Count == 1); }
public void CalculateSumPriceOfProductList_Shold_Work() { // Arrange var products = new List <ProductBase>(); var category = new FirstCategory(1, "test"); var product = new FirstProduct(1, "test", 10, category); products.Add(product); // Act var test_Price = Helper.CalculateSumPriceOfProductList(products); // Assert Assert.True(test_Price == 10); }
public void ApplyCampaigns_Should_Work() { // Arrange var shoppingCart = new ShoppingCart(1); var category = new FirstCategory(1, "test"); var product = new FirstProduct(1, "test", 100, category); var product2 = new FirstProduct(1, "test", 100, category); var product3 = new FirstProduct(1, "test", 100, category); shoppingCart.AddProduct(product); shoppingCart.AddProduct(product2); shoppingCart.AddProduct(product3); // Act shoppingCart.ApplyCampaigns(new List <CampaignBase>()); // Assert Assert.True(shoppingCart._isCampaignApplied == true); }
public void AddCoupon_Should_Work() { // Arrange var shoppingCart = new ShoppingCart(1); var category = new FirstCategory(1, "test"); var product = new FirstProduct(1, "test", 100, category); var product2 = new FirstProduct(1, "test", 100, category); var product3 = new FirstProduct(1, "test", 100, category); shoppingCart.AddProduct(product); shoppingCart.AddProduct(product2); shoppingCart.AddProduct(product3); var coupon = new CouponDiscountByAmount(1, 100, 20); shoppingCart.AddCoupon(coupon); // Act shoppingCart.ApplyCoupon(); // Assert Assert.True(shoppingCart._isCouponApplied == true); }
public void BuildProduct() { product = new FirstProduct(); }
public void ClickFirstProductLink() { FirstProduct.Click(); }
static void Main(string[] args) { var shoppingCart = new ShoppingCart(1); var category = new FirstCategory(1, "Food"); var apple = new FirstProduct(1, "Apple", 100, category); var almonds = new FirstProduct(2, "Almonds", 150, category); shoppingCart.AddProduct(apple, 3); shoppingCart.AddProduct(almonds); var campaign1 = new CampaignDiscountByPercentage(1, "Food Campaign 1", 20, category, 3); var campaign2 = new CampaignDiscountByPercentage(2, "Food Campaign 2", 50, category, 5); var campaign3 = new CampaignDiscountByAmount(3, "Food Campaign 3", 5, category, 0); var campaigns = new List <CampaignBase>() { campaign1, campaign2, campaign3 }; var coupon = new CouponDiscountByPercentage(1, 100, 10); shoppingCart.AddCoupon(coupon); var delivery = new DeliverDynamic((decimal)2.99, 5, 3); // Act shoppingCart.ApplyDiscounts(campaigns); shoppingCart.ApplayDelivery(delivery); Console.WriteLine("Indirim öncesi Tutar : " + shoppingCart.SumOfProducts); Console.WriteLine("Indirim sonrası Tutar : " + shoppingCart.TotalAmountAfterDiscount); Console.WriteLine("Kullanılan Kopon : " + shoppingCart._couponTotalDiscount); Console.WriteLine("Kampanya indirimi : " + shoppingCart._campaignMaxDiscount); var campaignsHasMaxDiscountByCategory = from c in shoppingCart._selectedProducts group c by c._category into ctg select ctg; foreach (var item in campaignsHasMaxDiscountByCategory) { var appliedCampaign = shoppingCart._appliedCampaigns.FirstOrDefault(x => x._category == item.Key); Console.Write(item.First()._category._title); if (appliedCampaign != null) { Console.Write(" uygulanan kampanya : " + appliedCampaign._calculatedDiscountAmount); } Console.WriteLine(); var produsctTypes = from c in item group c by c._id into prd select prd; foreach (var item2 in produsctTypes) { Console.WriteLine(item2.First()._title + " " + item2.Count() + " " + item2.Sum(x => x._price)); } } Console.WriteLine("Kargo maliyeti : " + shoppingCart._deliveryCost); Console.WriteLine("Toplam Maliyet Tutarı : " + shoppingCart.TotalySumAffterDelivery); Console.ReadLine(); }