[Theory] public static void Invariants (Customer customer) { Assume.That(customer != null); // ReSharper disable once PossibleNullReferenceException customer.AssertInvariants(); Assert.That(customer.StringsAreNormalized); Assert.NotNull(customer.name); Assert.NotNull(customer.username); Assert.NotNull(customer.password); }
public Receipt ConductSaleOrThrow (Customer customer, Item clientDescriptionOfItem) { var actualItem = ItemMatching(clientDescriptionOfItem); if (actualItem == null) Global.ThrowComplaint("Item not carried.", true); if (!customer.CanAfford(actualItem)) Global.ThrowComplaint("Insufficient money.", true); return ConductSale(customer, actualItem); }
///<summary>Precondition: sale is valid.</summary> public Receipt ConductSale (Customer customer, Item item) { customer.MoneyInWallet -= item.Price; MoneyInRegister += item.Price; inventory.Remove(item); return new Receipt(customer, item); }