private void InterBankPayment() { var sourceBank = new Bank(500); var targetBank = new Bank(1000); var interBankPayment = new InterBankPayment(100, targetBank); sourceBank.DoOperation(interBankPayment); Assert.Equal(400, sourceBank.Balance); Assert.Equal(1100, targetBank.Balance); }
private static void InterBankPayment() { var sourceBank = new Bank(500); var targetBank = new Bank(1000); var interBankPayment = new InterBankPayment(100, targetBank); sourceBank.DoOperation(interBankPayment); System.Console.WriteLine(sourceBank.Balance); System.Console.WriteLine(targetBank.Balance); }
public void performInterBankTransfer(Transfer transfer) { var toBank = banks.Find(b => transfer.ToAccountNumber.StartsWith(b.accountPrefix)); if (toBank == null) { throw new ArgumentException("Recipients bank not found"); } var payment = new InterBankPayment(transfer, toBank); queuedPayments.Enqueue(payment); }