public void Deposit_Pass() { //tests deposit to one account IPersonModel customer = new CustomerModel { PersonId = 777, FirstName = "Stewie", LastName = "Griffin" }; IAccountModel acct = new CheckingAcctModel { AccountOwner = customer, AccountNumber = 1234, Balance = 100, Currency = Constants.Currency.CAD }; ITransactionModel transModel = new TransactionModel { RecieverAcct = acct, TransactionAmt = 300, Currency = Constants.Currency.USD }; //deposit 300 CAD AccountService.MakeDeposit(transModel); Assert.Equal(700, acct.Balance); }
public void Withdrawal_DifferentCurrency_Pass() { //tests withdrawal from one account with a sifferent currency IPersonModel customer = new CustomerModel { PersonId = 1, FirstName = "Bob", LastName = "Brat" }; IAccountModel acct = new CheckingAcctModel { AccountOwner = customer, AccountNumber = 1234, Balance = 100, Currency = Constants.Currency.CAD }; ITransactionModel transModel = new TransactionModel { SenderAcct = acct, TransactionAmt = 50, Currency = Constants.Currency.USD }; //withdraw 50 USD AccountService.MakeWithdrawal(transModel); Assert.Equal(0, acct.Balance); }
public void Withdrawal_InsufficientFunds_Fail() { //tests withdrawal with insufficient funds in account IPersonModel customer1 = new CustomerModel { PersonId = 123, FirstName = "Peter", LastName = "Griffin" }; IAccountModel acct1 = new CheckingAcctModel { AccountOwner = customer1, AccountNumber = 0456, Balance = 20, Currency = Constants.Currency.CAD }; ITransactionModel transModel = new TransactionModel { SenderAcct = acct1, TransactionAmt = 50, Currency = Constants.Currency.CAD }; AccountService.TransactionResult result = AccountService.MakeWithdrawal(transModel); Assert.Equal(AccountService.TransactionResult.InsufficientFunds, result); }
public void MultipleTransactions1_Pass() { //tests multiple transactions between 2 account in differency currencies IPersonModel customer = new CustomerModel { PersonId = 002, FirstName = "Joe", LastName = "Swanson" }; IAccountModel acct1 = new CheckingAcctModel { AccountOwner = customer, AccountNumber = 1010, Balance = 7425, Currency = Constants.Currency.CAD }; IAccountModel acct2 = new CheckingAcctModel { AccountOwner = customer, AccountNumber = 5500, Balance = 15000, Currency = Constants.Currency.CAD }; ITransactionModel transModel = new TransactionModel { SenderAcct = acct2, TransactionAmt = 5000, Currency = Constants.Currency.CAD }; //widthdraw 5000 CAD AccountService.MakeWithdrawal(transModel); transModel.SenderAcct = acct1; transModel.RecieverAcct = acct2; transModel.TransactionAmt = 7300; transModel.Currency = Constants.Currency.CAD; //transfer 7300 AccountService.MakeTransfer(transModel); transModel.SenderAcct = null; transModel.RecieverAcct = acct1; transModel.TransactionAmt = 13726; transModel.Currency = Constants.Currency.MXN; //Deposity 13726 AccountService.MakeDeposit(transModel); Assert.Equal(1497.60, acct1.Balance); Assert.Equal(17300.00, acct2.Balance); }
public void SingleAccountTransactions_Pass() { //tests multiple transactions on the same account with different currencies IPersonModel customer = new CustomerModel { PersonId = 504, FirstName = "Glenn", LastName = "Quagmire" }; IAccountModel acct = new CheckingAcctModel { AccountOwner = customer, AccountNumber = 2001, Balance = 35000, Currency = Constants.Currency.CAD }; ITransactionModel transModel = new TransactionModel { SenderAcct = acct, TransactionAmt = 5000, Currency = Constants.Currency.MXN }; //withdraw 500 MXN AccountService.MakeWithdrawal(transModel); transModel.TransactionAmt = 12500; transModel.Currency = Constants.Currency.USD; //withdraw 500 USD AccountService.MakeWithdrawal(transModel); transModel.SenderAcct = null; transModel.RecieverAcct = acct; transModel.TransactionAmt = 300; transModel.Currency = Constants.Currency.CAD; //deposit 300 CAD AccountService.MakeDeposit(transModel); Assert.Equal(9800, acct.Balance); }
public void MultipleTransactions2_Pass() { //tests multiple transactions between 2 account in differency currencies IPersonModel customer1 = new CustomerModel { PersonId = 123, FirstName = "Peter", LastName = "Griffin" }; IPersonModel customer2 = new CustomerModel { PersonId = 456, FirstName = "Lois", LastName = "Griffin" }; IAccountModel acct1 = new CheckingAcctModel { AccountOwner = customer1, AccountNumber = 0123, Balance = 150, Currency = Constants.Currency.CAD }; IAccountModel acct2 = new CheckingAcctModel { AccountOwner = customer2, AccountNumber = 0456, Balance = 65000, Currency = Constants.Currency.CAD }; ITransactionModel transModel = new TransactionModel { SenderAcct = acct1, TransactionAmt = 70, Currency = Constants.Currency.USD }; //withdrawal 70 AccountService.MakeWithdrawal(transModel); transModel.SenderAcct = null; transModel.RecieverAcct = acct2; transModel.TransactionAmt = 23789; transModel.Currency = Constants.Currency.USD; //deposit 23789 AccountService.MakeDeposit(transModel); transModel.SenderAcct = acct2; transModel.RecieverAcct = acct1; transModel.TransactionAmt = 23.75; transModel.Currency = Constants.Currency.CAD; //transfer 13726 AccountService.MakeTransfer(transModel); Assert.Equal(33.75, acct1.Balance); Assert.Equal(112554.25, acct2.Balance); }