public void ReceiptOneDuraAce() { var order = new OrderViewModel(Substitute.For <IDiscountCalculator <OrderViewModel> >(), Substitute.For <IDiscountCalculator <LineViewModel> >(), new Order("Anywhere Bike Shop", "USD", 0.0725m)); order.AddLine(new Line(DuraAce, 1)); var generator = new StringReceiptBuilder(); Assert.AreEqual(ResultStatementOneDuraAce, generator.GenerateReceipt(order)); }
public string ReceiptOneDefy(int amount) { var lineDiscount = new DiscountStrategyCalculator <LineViewModel>(); lineDiscount.Configure() .When(line => line.Quantity >= 20 && line.Price >= 1000) .ApplyDiscount(line => line.Quantity * line.Price * 0.1m); var orderVm = new OrderViewModel(Substitute.For <IDiscountCalculator <OrderViewModel> >(), lineDiscount, new Order("Anywhere Bike Shop", "USD", 0.0725m)); orderVm.AddLine(new Line(Defy, amount)); var generator = new StringReceiptBuilder(); return(generator.GenerateReceipt(orderVm)); }