Esempio n. 1
0
        public void Bank_Constructor_Should_Succeed_When_Creating_New_Bank_With_Multiple_Accounts()
        {
            Owner owner1 = new Owner("1", "Joe");
            Owner owner2 = new Owner("2", "Walmart");

            Account acct1 = new CheckingAccount(owner1, "1", 2000.76);
            Account acct2 = new IndividualInvestmentAccount(owner1, "2", 500.00);
            Account acct3 = new CorporateInvestmentAccount(owner2, "3", 7000000.00);

            List <Account> chaseAccounts = new List <Account>
            {
                acct1,
                acct2,
                acct3
            };

            Bank chaseBank = new Bank("1", "Chase", chaseAccounts);

            Assert.AreEqual("1", chaseBank.Id);
            Assert.AreEqual("Chase", chaseBank.Name);
            Assert.AreEqual(chaseAccounts.Count, chaseBank.Accounts.Count);
            Assert.IsTrue(chaseBank.Accounts[0] is CheckingAccount);
            Assert.AreEqual(owner1.Id, chaseBank.Accounts[0].Owner.Id);
            Assert.AreEqual(owner1.Name, chaseBank.Accounts[0].Owner.Name);
            Assert.IsTrue(chaseBank.Accounts[1] is IndividualInvestmentAccount);
            Assert.AreEqual(owner1.Id, chaseBank.Accounts[0].Owner.Id);
            Assert.AreEqual(owner1.Name, chaseBank.Accounts[1].Owner.Name);
            Assert.IsTrue(chaseBank.Accounts[2] is CorporateInvestmentAccount);
            Assert.AreEqual(owner1.Id, chaseBank.Accounts[0].Owner.Id);
            Assert.AreEqual(owner2.Name, chaseBank.Accounts[2].Owner.Name);
        }
Esempio n. 2
0
        public void DebitMoreThanThousandIndividualTest()
        {
            Customer owner = new Customer();

            owner.CustomerName      = "John Smith";
            owner.CustomerAccountId = 1231;

            IndividualInvestmentAccount individualAccount = new IndividualInvestmentAccount(2000, owner);

            individualAccount.Debit(10000);
        }
        public void IndividualInvestmentAccount_Withdrawal_Should_Fail_When_Trying_To_Overdraft_Account()
        {
            Exception caughtException  = null;
            double    withdrawalAmount = 500.00;
            Account   overDraftAcct    = new IndividualInvestmentAccount(this.owner, "3", 400.00);

            try
            {
                overDraftAcct.Withdrawal(withdrawalAmount);
            }
            catch (Exception ex)
            {
                caughtException = ex;
            }

            Assert.IsNotNull(caughtException);
            Assert.AreEqual("Not permissible to overdraft Account", caughtException.Message);
        }
        public void IndividualInvestmentAccountWithdrawal()
        {
            decimal startingBalance     = (decimal)5000.00;
            decimal withdrawalAmount    = (decimal)550.33;
            decimal maxWithdrawalAmount = (decimal)500;
            string  accountNumber       = "0007124";

            IAccount account         = new IndividualInvestmentAccount(startingBalance, "0007124", maxWithdrawalAmount);
            decimal  expectedBalance = startingBalance;
            string   outputmessage   = "";

            try
            {
                account.Withdrawal(withdrawalAmount);
            }
            catch (Exception MaxWithdrawExceeded)
            {
                outputmessage = MaxWithdrawExceeded.Message;
            }
            Assert.AreEqual(expectedBalance, account.GetBalance());
            Assert.AreEqual(outputmessage, string.Format("Amount Exceeds Maximum Withdrawal of ${0}", maxWithdrawalAmount));
        }
Esempio n. 5
0
        public void DepositTest()
        {
            Customer owner = new Customer();

            owner.CustomerName      = "John Smith";
            owner.CustomerAccountId = 1231;

            IndividualInvestmentAccount individualAccount = new IndividualInvestmentAccount(9000, owner);

            individualAccount.Deposit(1000);
            Assert.AreEqual(10000, individualAccount.Balance);

            CorporateInvestmentAccount CorpAccount = new CorporateInvestmentAccount(4454.45M, owner);

            CorpAccount.Deposit(5545.55M);
            Assert.AreEqual(10000, CorpAccount.Balance);

            CheckingAccount checkingAccount = new CheckingAccount(1300, owner);

            checkingAccount.Deposit(1200);
            Assert.AreEqual(2500, checkingAccount.Balance);
        }