public void ShoppingCartWithDiscountWithFixedPriceBulkDiscountedLineItem2Test() { // arrange ShoppingCart shoppingCart = new ShoppingCart { HasCoupon = true, CouponTotalPriceThreshold = 10.00m, CouponDiscount = 1.00m }; LineItem lineItem = new FixedPriceLineItem { ProductId = 1, Name = "Cheerios (non GMO)", UnitPrice = 2.00m, Quantity = 10, IsDiscounted = true, DiscountThreshold = 4 }; shoppingCart.Add(lineItem); //act decimal actualTotalPrice = shoppingCart.GetTotalPrice(); // assert const decimal expectedTotalPrice = 15.00m; Assert.AreEqual(expectedTotalPrice, actualTotalPrice); }
public void FixedPriceLineItemsSettersAndGetterTests2() { // arrange FixedPriceLineItem fixedPriceLineItem = new FixedPriceLineItem(productId: 1, name: "Cheerios (non GMO)", unitPrice: 2.00m, quantity: 3, isDiscounted: true, discountThreshold: 2); //act int actualProductId = fixedPriceLineItem.ProductId; string actualName = fixedPriceLineItem.Name; decimal actualUnitPrice = fixedPriceLineItem.UnitPrice; int actualQuantity = fixedPriceLineItem.Quantity; bool actualIsDiscounted = fixedPriceLineItem.IsDiscounted; int actualDiscountThreshold = fixedPriceLineItem.DiscountThreshold; // assert const int expectedProductId = 1; const string expectedName = "Cheerios (non GMO)"; const decimal expectedUnitPrice = 2.00m; const int expectedQuantity = 3; const bool expectedIsDiscounted = true; const int expectedDiscountThreshold = 2; Assert.AreEqual(expectedProductId, actualProductId); Assert.AreEqual(expectedName, actualName); Assert.AreEqual(expectedUnitPrice, actualUnitPrice); Assert.AreEqual(expectedQuantity, actualQuantity); Assert.AreEqual(expectedIsDiscounted, actualIsDiscounted); Assert.AreEqual(expectedDiscountThreshold, actualDiscountThreshold); }
public void PrintFixedPriceLineItemTest() { // arrange FixedPriceLineItem fixedPriceLineItem = new FixedPriceLineItem { ProductId = 1, Name = "Cheerios (non GMO)", UnitPrice = 2.00m, Quantity = 3, IsDiscounted = true, DiscountThreshold = 2 }; //act string fixedPriceLineItemString = fixedPriceLineItem.ToString(); // assert Assert.AreNotEqual(0, fixedPriceLineItemString.Length); }
private void Add(FixedPriceLineItem fixedPriceLineItem) { if (fixedPriceLineItem == null) { throw new ArgumentNullException("fixedPriceLineItem"); } FixedPriceLineItem existingFixedPriceLineItem = _uniqueFixedPriceLineItemList.SingleOrDefault(p => p.ProductId == fixedPriceLineItem.ProductId); if (existingFixedPriceLineItem != null) { // if fixed price line item exists in shopping cart, then increment quantity existingFixedPriceLineItem.Quantity++; } else { // else add to shopping cart _uniqueFixedPriceLineItemList.Add(fixedPriceLineItem); } }