[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);
			}
예제 #2
0
		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);
		}
예제 #3
0
		///<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);
		}