public void danish_tax_is_25_percent(double itemPrice, bool isConsumer) { // arrange var itemPriceAsDecimal = (decimal)itemPrice; var expected = new Price(new Amount(Currency.DKK, itemPriceAsDecimal * 4), new Amount(Currency.DKK, itemPriceAsDecimal)); var sut = new DanishTaxCalculationStrategy(); var calculator = new PriceCalculator(sut); var order = CreateOrder(calculator, itemPriceAsDecimal, isConsumer); // act var actual = order.CreateBill().Price; // assert Assert.Equal(expected, actual); }
public void add_tax_to_total() { // arrange var tax = new Amount(Currency.DKK, 25); var expected = new Price(total, tax); var fakeTaxStrategy = A.Fake<TaxCalculationStrategy>(); A.CallTo(fakeTaxStrategy).WithReturnType<Amount>().Returns(tax); var sut = new PriceCalculator(fakeTaxStrategy); var order = CreateOrder(sut, 25, isConsumer: true); // act var actual = order.CreateBill().Price; // assert Assert.Equal(expected, actual); }
protected bool Equals(Price other) { return Equals(BasePrice, other.BasePrice) && Equals(Tax, other.Tax); }
private Bill CreateBill(Price finalPrice) { return new Bill { Price = finalPrice }; }