示例#1
0
        private void commandToolStripMenuItem_Click(object sender, EventArgs e)
        {
            UpdateOutput("A account is created, transaction commands are queued up then committed, the results are displayed.");

            BankAccount       bankAccount = new BankAccount();
            TransactionsQueue queue       = new TransactionsQueue();

            CommandAbstract command;

            UpdateOutput("Beginning account balance: " + bankAccount.Balance.ToString());

            command = new DepositCommand(bankAccount, 50);
            queue.AddTransaction(command);
            UpdateOutput("Depositing 50");

            command = new DepositCommand(bankAccount, 20);
            queue.AddTransaction(command);
            UpdateOutput("Depositing 20");

            command = new WithdrawCommand(bankAccount, 10);
            queue.AddTransaction(command);
            UpdateOutput("Withdrawing 10");

            UpdateOutput("Before committing account balance: " + bankAccount.Balance.ToString());
            queue.CommitTransactions();

            UpdateOutput("Final account balance: " + bankAccount.Balance.ToString());
        }
        public void TransactionQueueAddTest()
        {
            BankAccount       bankAccount = new BankAccount();
            WithdrawCommand   command     = new WithdrawCommand(bankAccount, 10);
            TransactionsQueue queue       = new TransactionsQueue();

            queue.AddTransaction(command);

            Assert.AreEqual(queue.TransactionQueueCount, 1);
        }