public void ShouldThrowInvalidEnumArgumentExceptionWhenTaxableUndefined() { FakeShoppingItem fakeItem = CreateFakeItem(); fakeItem.Taxable = Taxable.Undefined; Assert.Catch(() => _taxCalculator.CalculatePriceWithTax(fakeItem)); }
/// <summary> /// Constructor for a taxable item. /// </summary> /// <param name="taxable">an enumeration representing whether or not the item is taxable</param> /// <param name="priceWithoutTax">the price without tax</param> /// <param name="itemName">the item name</parma> /// <param name="taxCalculator">the tax calculator</param> public ShoppingItem( Taxable taxable, decimal priceWithoutTax, string itemName, ITaxCalculator taxCalculator ) { Taxable = taxable; PriceWithoutTax = priceWithoutTax; ItemName = itemName; TaxAmountAsPercent = taxCalculator.DetermineTaxPercentage(Taxable); FinalItemPrice = taxCalculator.CalculatePriceWithTax(this); }