public void TestOrderCreation() { // ARRANGE var lineItemOne = new LineItem() { Name = "Line Item One", Desc = "Line Item One Description", Unit = 1, UnitPrice = 1m, DiscountPercentage = 0 }; var lineItemTwo = new LineItem() { Name = "Line Item Two", Desc = "Line Item Two Description", Unit = 2, UnitPrice = 2m, DiscountPercentage = 25 }; // ACT var order = new Order.Domain.Entities.Order { LineItems = new List <LineItem> { lineItemOne, lineItemTwo } }; // ASSERT Assert.NotNull(order); Assert.IsType <Guid>(order.Id); Assert.IsAssignableFrom <Guid>(order.Id); Assert.False(order.Id == default); Assert.NotEqual(Guid.Empty, order.Id); Assert.Equal(2, order.LineItems.Count); }
public void GetOrderTotal() { // ARRANGE var lineItemOne = new LineItem() { Name = "Line Item One", Desc = "Line Item One Description", Unit = 1, UnitPrice = 1.0m, DiscountPercentage = 0 }; var lineItemTwo = new LineItem() { Name = "Line Item Two", Desc = "Line Item Two Description", Unit = 2, UnitPrice = 2.0m, DiscountPercentage = 25 }; var totalBeforeDiscount = (lineItemOne.UnitPrice * lineItemOne.Unit) + (lineItemTwo.UnitPrice * lineItemTwo.Unit); var totalDiscountForLineItemOne = (lineItemOne.UnitPrice * lineItemOne.DiscountPercentage / 100) * lineItemOne.Unit; var totalDiscountForLineItemTwo = (lineItemTwo.UnitPrice * lineItemTwo.DiscountPercentage / 100) * lineItemTwo.Unit; var total = totalBeforeDiscount - totalDiscountForLineItemOne - totalDiscountForLineItemTwo; // ACT var order = new Order.Domain.Entities.Order() { LineItems = new List <LineItem> { lineItemOne, lineItemTwo } }; // ASSERT Assert.Equal(total, order.Total); }