using AfterHours.Economy; using NUnit.Framework; namespace AfterHours.Tests { public sealed class PurchaseOrderTests { [Test] public void Total_SumsAllLines() { var order = new PurchaseOrder(); order.Add(1, 10, 2f); order.Add(2, 5, 4f); Assert.AreEqual(40f, order.Total(), 0.0001f); } [Test] public void Add_IgnoresNonPositiveQuantity() { var order = new PurchaseOrder(); order.Add(1, 0, 5f); order.Add(1, -3, 5f); Assert.AreEqual(0, order.Lines.Count); } [Test] public void LineTotal_IsQuantityTimesUnitPrice() { var order = new PurchaseOrder(); order.Add(7, 3, 2.5f); Assert.AreEqual(7.5f, order.Lines[0].LineTotal, 0.0001f); } } }