public void GetVolumeDiscount() { var lineItem = new LineItem(Defy) { Quantity = 30 }; var discount = _utilities.GetVolumeDiscount(lineItem); Assert.IsNotNull(discount); Assert.AreEqual(.9M, discount); }
/// <summary> /// adds line item to collection and recalculates totals /// </summary> /// <param name="line"></param> public void AddLineItem(LineItem item) { item.Discount = _utilities.GetVolumeDiscount(item); item.ItemTotal = Math.Round(item.Bike.Price * item.Discount * item.Quantity, 2); this.LineItems.Add(item); this.SubTotal = Math.Round(LineItems.Sum(l => l.ItemTotal), 2); this.Tax = Math.Round(SubTotal * _utilities.GetSalesTaxRate(this.Company.Address), 2); this.Total = Math.Round(SubTotal + Tax, 2); }