public void Tax20ShouldIncreasePriceAfterTax() { Product product = Product.Sample; Tax tax = new Tax(20); AffectPriceResult result = tax.ApplyTo(product.Price); string expected = "Product price reported as $20.25 before tax and $24.30 after 20% tax"; Assert.AreEqual(expected, result.DescribeWith(product, tax)); }
public void Discount15ShouldDecreasePriceAfterTax() { Product product = Product.Sample; Discount discount = new Discount(15); AffectPriceResult result = discount.ApplyTo(product.Price); string expected = "Discount: rate = 15%, amount = $3.04. Price: before = $20.25, after = $17.21"; Assert.AreEqual(expected, result.DescribeWith(product, discount)); }
public void NoneTaxShouldNotAffectPrice() { Product product = Product.Sample; Tax tax = Tax.None; AffectPriceResult result = tax.ApplyTo(product.Price); string expected = "Product price reported as $20.25 before tax and $20.25 after 0% tax"; Assert.AreEqual(expected, result.DescribeWith(product, tax)); }
public void NoneDiscountShouldNotAffectPrice() { Product product = Product.Sample; Discount discount = Discount.None; AffectPriceResult result = discount.ApplyTo(product.Price); string expected = "Discount: rate = 0%, amount = $0.00. Price: before = $20.25, after = $20.25"; Assert.AreEqual(expected, result.DescribeWith(product, discount)); }