public void ShouldPrintDiscountWhenWednesday() { var dateTime = new DateTime(2020, 7, 15); List <LineItem> lineItems = new List <LineItem>() { new LineItem("milk", 10.0, 2), new LineItem("biscuits", 5.0, 5), new LineItem("chocolate", 20.0, 1), }; var dateTimeInstance = new Mock <IDateTimeProvider>(); dateTimeInstance.Setup(_ => _.Now()).Returns(dateTime); String output = ""; OrderReceipt receipt = new OrderReceipt(new Order(null, null, lineItems, dateTimeInstance.Object)); output = receipt.PrintReceipt(); Assert.Contains("milk, 10 X 2, 20\n", output); Assert.Contains("biscuits, 5 X 5, 25\n", output); Assert.Contains("chocolate, 20 X 1, 20\n", output); Assert.Contains("税额: 6.5", output); Assert.Contains("折扣: 1.43", output); Assert.Contains("总价: 70.07", output); }
public void shouldPrintCustomerInformationOnOrder() { Order order = new Order("Mr X", "Chicago, 60601", new List <LineItem>()); OrderReceipt receipt = new OrderReceipt(order); String output = receipt.PrintReceipt(); Assert.Contains("Mr X", output); Assert.Contains("Chicago, 60601", output); }
public void ShouldPrintCustomerInformationOnOrder() { Order order = new Order(new List <LineItem>(), Convert.ToDateTime("2020-7-16")); OrderReceipt receipt = new OrderReceipt(order, new StringBuilder()); String output = receipt.PrintReceipt(); Assert.Contains("=====老王超市,值得信赖======\n\n", output); Assert.Contains("2020年7月16日,星期四\n\n", output); }
public void ShouldDiscountAndPrintDiscountInfoWhenWednesday() { List <LineItem> lineItems = new List <LineItem>() { new LineItem("milk", 10.0, 2), new LineItem("biscuits", 5.0, 5), new LineItem("chocolate", 20.0, 1), }; OrderReceipt receipt = new OrderReceipt(new Order(lineItems, Convert.ToDateTime("2020-7-15")), new StringBuilder()); String output = receipt.PrintReceipt(); Assert.Contains("折扣:\t1.43", output); Assert.Contains("总价:\t70.07", output); }
public void shouldPrintCustomerInformationOnOrder() { var dateTimeInstance = new Mock <IDateTimeProvider>(); var dateTime = new DateTime(2020, 7, 15); dateTimeInstance.Setup(_ => _.Now()).Returns(dateTime); Order order = new Order("Mr X", "Chicago, 60601", new List <LineItem>(), dateTimeInstance.Object); OrderReceipt receipt = new OrderReceipt(order); String output = receipt.PrintReceipt(); Assert.Contains(dateTime.ToString("yyyy年M月d日, dddd", new CultureInfo("zh-cn")), output); Assert.Contains("Mr X", output); Assert.Contains("Chicago, 60601", output); }
public void ShouldPrintLineItemAndSalesTaxInformation() { List <LineItem> lineItems = new List <LineItem>() { new LineItem("milk", 10.0, 2), new LineItem("biscuits", 5.0, 5), new LineItem("chocolate", 20.0, 1), }; OrderReceipt receipt = new OrderReceipt(new Order(null, null, lineItems)); String output = receipt.PrintReceipt(); Assert.Contains("milk\t10\t2\t20\n", output); Assert.Contains("biscuits\t5\t5\t25\n", output); Assert.Contains("chocolate\t20\t1\t20\n", output); Assert.Contains("Sales Tax\t6.5", output); Assert.Contains("Total Amount\t71.5", output); }
public void ShouldPrintLineItemAndSalesTaxInformation() { List <LineItem> lineItems = new List <LineItem>() { new LineItem("milk", 10.0, 2), new LineItem("biscuits", 5.0, 5), new LineItem("chocolate", 20.0, 1), }; OrderReceipt receipt = new OrderReceipt(new Order(lineItems, Convert.ToDateTime("2020-7-16")), new StringBuilder()); String output = receipt.PrintReceipt(); Assert.Contains("milk,10*2,20\n", output); Assert.Contains("biscuits,5*5,25\n", output); Assert.Contains("chocolate,20*1,20\n", output); Assert.Contains("-----------------------\n", output); Assert.Contains("税额:\t6.5\n", output); Assert.Contains("总价:\t71.5", output); }
public void ShouldPrintLineItemAndSalesTaxInformation() { List <LineItem> lineItems = new List <LineItem>() { new LineItem("milk", 10.0, 2), new LineItem("biscuits", 5.0, 5), new LineItem("chocolate", 20.0, 1), }; var dateTime = new DateTime(2020, 7, 13); var dateTimeInstance = new Mock <IDateTimeProvider>(); dateTimeInstance.Setup(_ => _.Now()).Returns(dateTime); OrderReceipt receipt = new OrderReceipt(new Order(null, null, lineItems, dateTimeInstance.Object)); String output = receipt.PrintReceipt(); Assert.Contains("milk, 10 X 2, 20\n", output); Assert.Contains("biscuits, 5 X 5, 25\n", output); Assert.Contains("chocolate, 20 X 1, 20\n", output); Assert.Contains("税额: 6.5", output); Assert.DoesNotContain("折扣:", output); Assert.Contains("总价: 71.5", output); }