public void GetSalesTaxAmount_ItemIsTaxedAndImported_ReturnBasicAndImportTax() { // Arrange var salesTaxRate = new SalesTaxRate(); var totalSalesTaxCalculator = new TotalSalesTaxCalculator(new List <SalesTaxCalculator> { new BasicSalesTaxCalculator(salesTaxRate), new ImportDutySalesTaxCalculator(salesTaxRate) }); var item = new ShoppingBasketItem(new Product("Other", ProductType.Other), 15001.25m, true, totalSalesTaxCalculator); // Act var result = totalSalesTaxCalculator.GetSalesTaxAmount(item); // Assert Assert.AreEqual(result, 2250.25m); }
public void GetPriceWithTaxIncluded_ItemIsExemptAndNotImported_ReturnPrice() { // Arrange var salesTaxRate = new SalesTaxRate(); var totalSalesTaxCalculator = new TotalSalesTaxCalculator(new List <SalesTaxCalculator> { new BasicSalesTaxCalculator(salesTaxRate), new ImportDutySalesTaxCalculator(salesTaxRate) }); var item = new ShoppingBasketItem(new Product("Candy", ProductType.Candy), 16.00m, false, totalSalesTaxCalculator); // Act var result = totalSalesTaxCalculator.GetPriceWithTaxIncluded(item); // Assert Assert.AreEqual(result, 16.00m); }
public void GetSalesTaxAmount_ItemIsExemptAndImported_ReturnImportTax() { // Arrange var salesTaxRate = new SalesTaxRate(); var totalSalesTaxCalculator = new TotalSalesTaxCalculator(new List <SalesTaxCalculator> { new BasicSalesTaxCalculator(salesTaxRate), new ImportDutySalesTaxCalculator(salesTaxRate) }); var item = new ShoppingBasketItem(new Product("Candy", ProductType.Candy), 75.99m, true, totalSalesTaxCalculator); // Act var result = totalSalesTaxCalculator.GetSalesTaxAmount(item); // Assert Assert.AreEqual(result, 3.80m); }