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);
        }
Ejemplo n.º 3
0
 public Order(IEnumerable<OrderLine> orderLines, PriceCalculator priceCalculator, Customer customer)
 {
     this.OrderLines = ImmutableList<OrderLine>.Empty.AddRange(orderLines);
       this.priceCalculator = priceCalculator;
       this.IsB2C = customer.IsConsumer;
 }
 private Order CreateOrder(PriceCalculator priceCalculator, decimal itemPrice, bool isConsumer)
 {
     return new Order(Enumerable.Repeat<OrderLine>(new OrderLine(new Sku(), 2, new Amount(Currency.DKK, itemPrice)), 2),
                priceCalculator,
                new Customer { IsConsumer = isConsumer});
 }