public static void LoadedAccountInfoIsCorrect() { FileAccountRepository TestFileRepo = new FileAccountRepository("C:/Users/Jeremy/source/repos/SGBank052020/SGBank.Data/AccountsForTestingLoad.txt"); //Did the file load the correct line //of text into the correct slot of the array // 0 == 11111 // 1 == 22222 // 2 == 33333 Assert.AreEqual(TestFileRepo.AccountsList[0].AccountNumber, "11111"); Assert.AreEqual(TestFileRepo.AccountsList[1].AccountNumber, "22222"); Assert.AreEqual(TestFileRepo.AccountsList[2].AccountNumber, "33333"); Assert.AreEqual(TestFileRepo.AccountsList[0].Name, "Free Customer"); Assert.AreEqual(TestFileRepo.AccountsList[1].Name, "Basic Customer"); Assert.AreEqual(TestFileRepo.AccountsList[2].Name, "Premium Customer"); Assert.AreEqual(TestFileRepo.AccountsList[0].Balance, 100); Assert.AreEqual(TestFileRepo.AccountsList[1].Balance, 100); Assert.AreEqual(TestFileRepo.AccountsList[2].Balance, 100); Assert.AreEqual(TestFileRepo.AccountsList[0].Type, AccountType.Free); Assert.AreEqual(TestFileRepo.AccountsList[1].Type, AccountType.Basic); Assert.AreEqual(TestFileRepo.AccountsList[2].Type, AccountType.Premium); }
public void CanReadAccountsFromFile() { FileAccountRepository repo = new FileAccountRepository(_testDataPath); List <Account> accounts = repo.GetAccountsFromFile(_testDataPath); Assert.AreEqual(4, accounts.Count); // there should be 4 accounts in the repo }
public void PositiveOrZeroAmountWithdrawalsFail(string accountNumber, decimal amount) { IAccountRepository repo = new FileAccountRepository(); Account account = repo.LoadAccount(accountNumber); AccountManager accountManager = new AccountManager(repo); AccountWithdrawResponse response = accountManager.Withdraw(account.AccountNumber, amount); Assert.IsFalse(response.Success); }
public static void CorrectAccountExtractedFromFile(string accountNumber) { FileAccountRepository TestFileRepo = new FileAccountRepository("C:/Users/Jeremy/source/repos/SGBank052020/SGBank.Data/AccountsForTestingDeposit.txt"); Account a = TestFileRepo.ExtractAccount(accountNumber); Assert.AreEqual(a.AccountNumber, accountNumber); }
public void CanWithdrawFromAccountInFile(string accountNumber, decimal depositAmount, bool expectedResult) { IAccountRepository repo = new FileAccountRepository(); Account account = repo.LoadAccount(accountNumber); AccountManager accountManager = new AccountManager(repo); AccountWithdrawResponse response = accountManager.Withdraw(account.AccountNumber, depositAmount); Assert.AreEqual(expectedResult, response.Success); }
public void CanLoadAccountFromFile() { IAccountRepository repo = new FileAccountRepository(); Account account = repo.LoadAccount("1"); Assert.AreEqual("1", account.AccountNumber); Assert.AreEqual("Michael Jackson", account.Name); Assert.AreEqual(150.00M, account.Balance); Assert.AreEqual(AccountType.Basic, account.Type); }
public void CanSaveToFile(string accountNumber, string name, decimal balance, AccountType type, bool expected) { List <string> accountList = new List <string>(); accountList.Add($"{accountNumber},{name},{balance},{type.ToString().Substring(0, 1).ToUpper()}"); FileAccountRepository file = new FileAccountRepository(); Assert.AreEqual(expected, file.SaveToFile(accountList, @"C:\Test\FileTest.txt")); }
public void CanReadDataFromFile() { FileAccountRepository repo = new FileAccountRepository(_testpath); Account account = repo.LoadAccount("33333"); Assert.AreEqual("33333", account.AccountNumber); Assert.AreEqual("Premium Customer", account.Name); Assert.AreEqual(1000, account.Balance); Assert.AreEqual(AccountType.Premium, account.Type); }
public static void CanLoadAccountTestDataFromFile(string accountNumber) { FileAccountRepository TestFileRepo = new FileAccountRepository("C:/Users/Jeremy/source/repos/SGBank052020/SGBank.Data/AccountsForTestingLoad.txt"); Account a = TestFileRepo.LoadAccount(accountNumber); Assert.AreEqual(a.AccountNumber, accountNumber); Assert.IsNotNull(TestFileRepo._account); }
public void CanReadDataFromFile() { FileAccountRepository test = new FileAccountRepository(_path); var checkData = test.LoadAccount("11111"); Assert.AreEqual(checkData.AccountNumber, "11111"); Assert.AreEqual(checkData.Name, "Free Customer"); Assert.AreEqual(checkData.Balance, 100); Assert.AreEqual(checkData.Type, AccountType.Free); }
public void CanLoadFileAccountTestData(string AccountNumber) { FileAccountRepository repo = new FileAccountRepository(_FilePath); List <Account> accounts = repo.List(); AccountNumber = "22222"; Account account = repo.LoadAccount(AccountNumber); Assert.AreEqual("22222", account.AccountNumber); }
public void CanNotGetAccount(string accountNumber, string name, decimal balance, AccountType type) { List <string> accountList = new List <string>(); accountList.Add($"{accountNumber},{name},{balance},{type.ToString().Substring(0, 1).ToUpper()}"); FileAccountRepository file = new FileAccountRepository(); file.SaveToFile(accountList, @"C:\Test\FileTest.txt"); Account accountExtract = file.GetAccount("00000", @"C:\Test\FileTest.txt"); Assert.IsNull(accountExtract); }
public void CanReadDataFromFile() { FileAccountRepository repo = new FileAccountRepository(); List <Account> account = repo.GetData(); Assert.AreEqual(3, account.Count()); Account check = account[2]; Assert.AreEqual("33333", check.AccountNumber); Assert.AreEqual("Premium Customer", check.Name); Assert.AreEqual(1000, check.Balance); Assert.AreEqual(AccountType.Premium, AccountType.Premium); }
public void CanReadAccountFromFile() { FileAccountRepository repo = new FileAccountRepository("/Users/macbookpro/Documents/SG-Bootcamp/dotnet-rob-reynolds/SGBank.UI/SGBank.UI/bin/Debug/AccountsTest.txt"); List <Account> accounts = repo._account; Assert.AreEqual(3, accounts.Count); Account accountToCheck = accounts[1]; Assert.AreEqual("22222", accountToCheck.AccountNumber); Assert.AreEqual("Basic Customer", accountToCheck.Name); Assert.AreEqual(500, accountToCheck.Balance); Assert.AreEqual("Basic", accountToCheck.Type.ToString()); }
public void CanCreateCvsForAccount() { FileAccountRepository repo = new FileAccountRepository(); Account account = new Account(); account.AccountNumber = "12345"; account.Name = "Rorie Lizenby"; account.Balance = 255; account.Type = AccountType.Premium; string result = repo.CreateCsvForAccount(account); Assert.AreEqual(result, "12345,Rorie Lizenby,255,P"); }
public void CanReadData() { FileAccountRepository repo = new FileAccountRepository(_filepath); List <Account> accounts = repo.AccountList(); Assert.AreEqual(3, accounts.Count()); Account verify = accounts[0]; Assert.AreEqual("11111", verify.AccountNumber); Assert.AreEqual("Free Customer", verify.Name); Assert.AreEqual(100, verify.Balance); Assert.AreEqual(AccountType.Free, verify.Type); }
public void CanReadDataFromFile() { FileAccountRepository repo = new FileAccountRepository(_FilePath); List <Account> accounts = repo.List(); Assert.AreEqual(3, accounts.Count); Account check = accounts[1]; Assert.AreEqual("22222", check.AccountNumber); Assert.AreEqual("Basic Customer", check.Name); Assert.AreEqual(500, check.Balance); Assert.AreEqual(AccountType.Basic, check.Type); }
public void AbleToReadFromFile() { FileAccountRepository readFile = new FileAccountRepository(); List <Account> list = readFile.GetAccounts(); Assert.AreEqual(3, list.Count()); Account valid = list[1]; Assert.AreEqual("22222", valid.AccountNumber); Assert.AreEqual("Basic Customer", valid.Name); Assert.AreEqual(500, valid.Balance); Assert.AreEqual(AccountType.Basic, valid.Type); }
public void CanReadCvs() { FileAccountRepository repo = new FileAccountRepository(); Account account = new Account(); Dictionary <string, Account> accounts = new Dictionary <string, Account>(); accounts = repo.ReadAccountCSV(_filePath); Account check = accounts["22222"]; Assert.AreEqual("22222", check.AccountNumber); Assert.AreEqual("Basic Customer", check.Name); Assert.AreEqual(500, check.Balance); Assert.AreEqual(AccountType.Basic, check.Type); }
public void CanListAccount(string accountNumber, string name, decimal balance, AccountType type) { List <string> accountList = new List <string>(); accountList.Add($"{accountNumber},{name},{balance},{type.ToString().Substring(0, 1).ToUpper()}"); FileAccountRepository file = new FileAccountRepository(); file.SaveToFile(accountList, @"C:\Test\FileTest.txt"); Account accountToCheck = new Account() { AccountNumber = "00000", Name = name, Balance = balance, Type = type }; List <string> accountExtract = file.ListAccount(accountToCheck, @"C:\Test\FileTest.txt"); Assert.AreEqual(accountList[0], accountExtract[0]); }
public static void Start() { FileAccountRepository fileRepo = new FileAccountRepository(); List <Account> accounts = fileRepo.GetAllAccounts(); while (true) { Console.Clear(); Console.WriteLine("SG Bank Application"); Console.WriteLine("________________________"); Console.WriteLine("1. Lookup an Account"); Console.WriteLine("2. Deposit"); Console.WriteLine("3. Withdraw"); Console.WriteLine("\nQ to quit"); Console.WriteLine("\nEnter selection"); string userinput = Console.ReadLine(); switch (userinput) { case "1": AccountLookupWorkflow lookupWorkflow = new AccountLookupWorkflow(); lookupWorkflow.Execute(); break; case "2": DepositWorkflow depositWorkflow = new DepositWorkflow(); depositWorkflow.Execute(); fileRepo.SaveAllAccounts(accounts); break; case "3": WithdrawWorkflow withdrawWorkflow = new WithdrawWorkflow(); withdrawWorkflow.Execute(); fileRepo.SaveAllAccounts(accounts); break; case "Q": return; } } }
public static void CorrectAmountDepositAndWithdrawFree(string accountNumber) { //after this files are in arraylist FileAccountRepository TestFileRepo = new FileAccountRepository("C:/Users/Jeremy/source/repos/SGBank052020/SGBank.Data/AccountsForTestingDeposit.txt"); Account a = TestFileRepo.LoadAccount(accountNumber); decimal beginningBalance = a.Balance; //100 IDeposit deposit = new FreeAccountDepositRule(); deposit.Deposit(a, 10); //stores new balance in account TestFileRepo.SaveAccount(a); Assert.AreEqual(a.Balance, 110); IWithdraw withdraw = new FreeAccountWithdrawRule(); withdraw.Withdraw(a, -10); TestFileRepo.SaveAccount(a); Assert.AreEqual(a.Balance, 100); }
public void CanEditFileAccount() { FileAccountRepository repo = new FileAccountRepository(_testDataPath); Account updatedAcct = new Account { AccountNumber = "11111", Name = "Free Customer", Balance = 1000m, Type = AccountType.Free }; repo.SaveAccount(updatedAcct); List <Account> updatedAccounts = repo.GetAccountsFromFile(_testDataPath); Account modifiedAcct = updatedAccounts.Single(a => a.AccountNumber == "11111"); Assert.AreEqual(updatedAcct.Balance, modifiedAcct.Balance); //balance should be raised to 1000m }
public void CanAddandUpdateAccount() { FileAccountRepository repo = new FileAccountRepository(_filepath); List <Account> accounts = repo.AccountList(); Account newAccount = new Account(); newAccount.AccountNumber = "44444"; newAccount.Name = "Bobby Tables"; newAccount.Balance = 50000; newAccount.Type = AccountType.Premium; accounts.Add(newAccount); Assert.AreEqual(4, accounts.Count()); Account verify = accounts[3]; Assert.AreEqual("44444", verify.AccountNumber); Assert.AreEqual("Bobby Tables", verify.Name); Assert.AreEqual(50000, verify.Balance); Assert.AreEqual(AccountType.Premium, verify.Type); }
public void CanParseAcctTypeToLetter(AccountType type, string expected) { FileAccountRepository repo = new FileAccountRepository(""); Assert.AreEqual(expected, repo.ParseAccountTypeToLetter(type)); }
public void CanParseLetterToAcctType(string letter, AccountType expected) { FileAccountRepository repo = new FileAccountRepository(""); Assert.AreEqual(expected, repo.ParseLetterToAccountType(letter)); }