From 9210ab633bcf75dfec0024877eec995017826b95 Mon Sep 17 00:00:00 2001 From: Zachary Stimmel Date: Mon, 23 Oct 2017 16:42:29 -0400 Subject: [PATCH 1/5] Added ATM --- ATM | 1 + 1 file changed, 1 insertion(+) create mode 100644 ATM diff --git a/ATM b/ATM new file mode 100644 index 0000000..3f86135 --- /dev/null +++ b/ATM @@ -0,0 +1 @@ +UzV2zq1wL0osyPDNT0nNUTV2VTV2LsrPL4GwciucU3NyVI0MMlNUjV1UjYwMgFjVyA2HrCFY1qAgsSg1rwSLBiADYTaQg2Y1AA== \ No newline at end of file From 9bb6b5213683a91c461b721a06ea335458651409 Mon Sep 17 00:00:00 2001 From: zachary Date: Wed, 25 Oct 2017 13:08:58 -0400 Subject: [PATCH 2/5] update --- src/.DS_Store | Bin 0 -> 6148 bytes src/main/.DS_Store | Bin 0 -> 6148 bytes src/main/java/Account.java | 27 +++++ src/main/java/CheckingAccount.java | 5 + src/main/java/Console.java | 175 +++++++++++++++++++++++++++ src/main/java/InvestmentAccount.java | 2 + src/main/java/Main.java | 14 ++- src/main/java/SavingsAccount.java | 2 + src/main/java/User.java | 98 +++++++++++++++ src/main/java/UserFactory.java | 54 +++++++++ src/main/java/UserWarehouse.java | 20 +++ src/test/java/AccountTest.java | 56 +++++++++ src/test/java/ConsoleTest.java | 19 +++ src/test/java/UserFactoryTest.java | 34 ++++++ src/test/java/UserTest.java | 86 +++++++++++++ src/test/java/UserWarehouseTest.java | 21 ++++ 16 files changed, 608 insertions(+), 5 deletions(-) create mode 100644 src/.DS_Store create mode 100644 src/main/.DS_Store create mode 100644 src/main/java/Account.java create mode 100644 src/main/java/CheckingAccount.java create mode 100644 src/main/java/Console.java create mode 100644 src/main/java/InvestmentAccount.java create mode 100644 src/main/java/SavingsAccount.java create mode 100644 src/main/java/User.java create mode 100644 src/main/java/UserFactory.java create mode 100644 src/main/java/UserWarehouse.java create mode 100644 src/test/java/AccountTest.java create mode 100644 src/test/java/ConsoleTest.java create mode 100644 src/test/java/UserFactoryTest.java create mode 100644 src/test/java/UserTest.java create mode 100644 src/test/java/UserWarehouseTest.java diff --git a/src/.DS_Store b/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..fb5ef3619030238358960519c6daa905341cb413 GIT binary patch literal 6148 zcmeH~-)_?|6vmIYFj5er7f6gd-ym^Oq_(4U5<-f~xY!+1C%6E#CA4CZvUqAzDhNe+ z4d4lQ6nFt12flM`s#=JN+e}P*_ax&2W-uCV!1K_77-}##B(b0_Y3+mH|1x z6M(+`Z9uoG>h5-@r8`@_KNDgCurmpLM(2XW3L%N~*~KE@mO^;-V!gJ1TTj3fI0pi} zKWHS@$Z2g=whm-+1%L)<7DHKn{h^v0ppnzsDq3L5hC*$qa#sxHZVt+Zqd#)~wN)EV zN}h~y+>@2Np(uCpP+HtcMOJ<833vj_1lDb}$>;xLtl=~6|I0zX<_UNL{}llh>S5Z-O0rihq>V2^tdJoM03YY!rXS`WPm6+Ni5i77S`v!zKJv_|q8`bIv1 zkE63cEo${9B4q|VW?r`YJZZ;HJc=65@LWFmUeDF`3FpDgcHC3HmvpR+LmtMCANGbH!Y|JJ(Bnyi zk3uh!>l{0AA9Cf3I#zKqsn%*GR;^dl5}VZP`+#ZGj53j*Dji1ILA_K?(GOz#)=%dYCU4UA!1Y`gi_+19X`M^L0 z+8Q&3^5}p;wg7+zxTSzCfBgZOZ~)pGGlk#*p(+(nrBdBuP~ACDl@9Z^j?WaTbVB8u zVIBQusyh^_8xP84IH9&e9FYNJ;4=fF_XDxS{eSdx|1X1ZKn9S3#bkgQ&33Z^wduQc yu1ay&GSDul5D}LtoTY#vuVRQ5S8)+k3iz2Y0Bwz#Lhyj#kAS2B2V~$+8F&XdC|cwI literal 0 HcmV?d00001 diff --git a/src/main/java/Account.java b/src/main/java/Account.java new file mode 100644 index 0000000..5913527 --- /dev/null +++ b/src/main/java/Account.java @@ -0,0 +1,27 @@ + + +abstract class Account { + + public double balance = 0; + + + public double checkBalance() { + return this.balance; + } + + public double addFunds(double n) { + this.balance += n; + return this.balance; + } + + public double withDraw(double n) { + + if (balance - n >= 0) { + System.out.println("Successful"); + balance -= n; + } else { + System.out.println("Insufficient funds"); + } + return this.balance; + } +} \ No newline at end of file diff --git a/src/main/java/CheckingAccount.java b/src/main/java/CheckingAccount.java new file mode 100644 index 0000000..e55e6a3 --- /dev/null +++ b/src/main/java/CheckingAccount.java @@ -0,0 +1,5 @@ +public class CheckingAccount extends Account { + + +} + diff --git a/src/main/java/Console.java b/src/main/java/Console.java new file mode 100644 index 0000000..8118a86 --- /dev/null +++ b/src/main/java/Console.java @@ -0,0 +1,175 @@ + +import java.util.ArrayList; +import java.util.Scanner; + +public class Console { + + + public void Start() { + mainMenu(); + } + + User currentUser; + int currentAccount; + + + public void login() { + ArrayList users = UserWarehouse.getList(); + + Scanner loginInput = new Scanner(System.in); + System.out.println("Please enter Username to login: "); + String userName = loginInput.nextLine(); + System.out.println("Please enter a password: "); + String userPassword = loginInput.nextLine(); + + + for (User user : users) { + if (user.getUserName().contains(userName)) { + + if (user.getPassword().contains(userPassword)) { + currentUser = user; + accountMenu(); + } else { + System.out.println("User does not exist.\n"); + mainMenu(); + } + + } else { + System.out.println("User does not exist.\n"); + mainMenu(); + } + + } + mainMenu(); + } + + + private void mainMenu() { + int userinput; + + Scanner input = new Scanner(System.in); + System.out.println("1: Create Account\n" + + "2: Login\n" + + "3: Exit\n"); + userinput = input.nextInt(); + switch (userinput) { + case 1: + UserFactory.createUser(); + login(); + break; + case 2: + login(); + break; + case 3: + exit(); + break; + + } + + } + + + public void accountMenu() { + System.out.println("-----------------\n" + + "1: Checking \n" + + "2: Savings\n" + + "3: Investing\n" + + "4: Main Menu"); + int userInput; + Scanner input = new Scanner(System.in); + userInput = input.nextInt(); + switch (userInput) { + case 1: + currentAccount = 0; + accountActions(); + break; + case 2: + currentAccount = 1; + accountActions(); + break; + case 3: + currentAccount = 2; + accountActions(); + break; + case 4: + mainMenu(); + break; +// case 5: +// mainMenu(); +// break; + } + + } + + + public void accountActions() { + System.out.println("-----------------\n" + + "1: Check Balance\n" + + "2: Add Funds\n" + + "3: Withdraw\n" + + "4: Transfers\n" + + "5: Back"); + int userInput; + Scanner input = new Scanner(System.in); + userInput = input.nextInt(); + switch (userInput) { + case 1: + //check balance + System.out.println("$" + currentUser.accounts.get(currentAccount).checkBalance()); + accountActions(); + break; + case 2: + //add funds/deposit + System.out.println("Amount to be deposited: "); + double depoFunds = input.nextDouble(); + currentUser.accounts.get(currentAccount).addFunds(depoFunds); + accountActions(); + break; + case 3: + //withdraw + System.out.println("Amount to be withdrawn: "); + double withDrawFunds = input.nextDouble(); + currentUser.accounts.get(currentAccount).withDraw(withDrawFunds); + accountActions(); + break; + case 4: + tranfers(); + break; + case 5: + accountMenu(); + break; + } + } + + private void tranfers() { + int userInput; +// int account = 0; + int toAccount = 0; + Scanner input = new Scanner(System.in); + +// System.out.println( "Transfer from: \n" + +// "0: Checking\n" + +// "1: Savings\n" + +// "2: Investing"); +// account = input.nextInt(); + System.out.println("Transfer to: \n" + + "0: Checking\n" + + "1: Savings\n" + + "2: Investing"); + toAccount = input.nextInt(); + System.out.println("Amount to transfer: "); + + + double funds = input.nextDouble(); + currentUser.accounts.get(currentAccount).withDraw(funds); + currentUser.accounts.get(toAccount).addFunds(funds); + accountActions(); + + } + + private void exit() { + System.exit(0); + } + + +} diff --git a/src/main/java/InvestmentAccount.java b/src/main/java/InvestmentAccount.java new file mode 100644 index 0000000..bc9cf89 --- /dev/null +++ b/src/main/java/InvestmentAccount.java @@ -0,0 +1,2 @@ +public class InvestmentAccount extends Account{ +} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 05e41a9..466d739 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,9 +1,13 @@ -/** - * Created by iyasuwatts on 10/17/17. - */ +import org.junit.Test; + public class Main { - public static void main(String[] args){ - + public static void main(String[] args) { + + + Console atm = new Console(); + atm.Start(); + + } } diff --git a/src/main/java/SavingsAccount.java b/src/main/java/SavingsAccount.java new file mode 100644 index 0000000..ed227d4 --- /dev/null +++ b/src/main/java/SavingsAccount.java @@ -0,0 +1,2 @@ +public class SavingsAccount extends Account { +} diff --git a/src/main/java/User.java b/src/main/java/User.java new file mode 100644 index 0000000..7b07ed0 --- /dev/null +++ b/src/main/java/User.java @@ -0,0 +1,98 @@ +import java.util.ArrayList; + +public class User { + + private static int id; + private String userName; + private String password; + protected static ArrayList accounts = new ArrayList<>(); + + { + + CheckingAccount checking = new CheckingAccount(); + accounts.add(0, checking); + SavingsAccount saving = new SavingsAccount(); + accounts.add(1, saving); + InvestmentAccount invest = new InvestmentAccount(); + accounts.add(2, invest); + } + + public User(String userName, String password, int id) { + this.userName = userName; + this.password = password; + this.id = id; + id++; + + } + + + public void addCheckingAccount() { + CheckingAccount checking = new CheckingAccount(); + accounts.add(checking); + } + + public void addSavingsAccount() { + SavingsAccount savings = new SavingsAccount(); + accounts.add(1, savings); + } + + public void addInvestmentAccount() { + InvestmentAccount invest = new InvestmentAccount(); + accounts.add(2, invest); + } +// +// private void removeCheckingAccount(){ +// +// accounts.remove(0); +// } +// private void removeSavingsAccount(){ +// +// accounts.remove(1); +// } +// private void removeInvestmentAccount(){ +// +// accounts.remove(2); +// } + + public static int getId() { + return id; + } + + public static void setId(int id) { + User.id = id; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + + } + + public static ArrayList getAccounts() { + return accounts; + } + + public static void setAccounts(ArrayList accounts) { + User.accounts = accounts; + } + + @Override + public String toString() { + return "Username: " + this.getUserName() + + "\nPassword: " + this.getPassword() + + "\nId: " + this.getId(); + } + + +} diff --git a/src/main/java/UserFactory.java b/src/main/java/UserFactory.java new file mode 100644 index 0000000..dfb6ee1 --- /dev/null +++ b/src/main/java/UserFactory.java @@ -0,0 +1,54 @@ + +import java.util.Scanner; + +public class UserFactory { + protected UserFactory() { + + } + + private static int nextId; + + + public static User createUser() { + + + String userName = setUserName(); + String password = setPassword(); + int id = nextId; + + User newUser = new User(userName, password, id); + UserWarehouse.addUser(newUser); + nextId++; + return newUser; + } + + public static User createUser(String name, String pass, int nextId) { + String userName = name; + String password = pass; + int id = nextId; + User newUser = new User(userName, password, id); + UserWarehouse.addUser(newUser); + nextId++; + return newUser; + } + + + public static String setUserName() { + String name; + Scanner input = new Scanner(System.in); + System.out.println("Create a Username"); + name = input.next(); + return name; + + } + + public static String setPassword() { + String password; + Scanner input = new Scanner(System.in); + System.out.println("Create a password"); + password = input.nextLine(); + return password; + } + + +} diff --git a/src/main/java/UserWarehouse.java b/src/main/java/UserWarehouse.java new file mode 100644 index 0000000..e698723 --- /dev/null +++ b/src/main/java/UserWarehouse.java @@ -0,0 +1,20 @@ +import java.util.ArrayList; + +public class UserWarehouse { + + + static final ArrayList users = new ArrayList(); + + public static void addUser(User newUser) { + System.out.println("Registering New User...\n"); + users.add(newUser); + + } + + + public static ArrayList getList() { + return users; + } + + +} diff --git a/src/test/java/AccountTest.java b/src/test/java/AccountTest.java new file mode 100644 index 0000000..eadaa31 --- /dev/null +++ b/src/test/java/AccountTest.java @@ -0,0 +1,56 @@ +import org.junit.Assert; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; + +import static org.junit.jupiter.api.Assertions.*; + +class AccountTest { + + protected static ArrayList accounts = new ArrayList(); + private double balance = 0; + + @Test + public void checkBalance() { + CheckingAccount checking = new CheckingAccount(); + double expected = 0; + double actual = checking.checkBalance(); + Assert.assertEquals(expected, actual, 0); + + SavingsAccount savings = new SavingsAccount(); + double saveExpected = 0; + double saveActual = savings.checkBalance(); + Assert.assertEquals(saveExpected, saveActual, 0); + + InvestmentAccount investing = new InvestmentAccount(); + double investExpected = 0; + double investActual = investing.checkBalance(); + Assert.assertEquals(investExpected, investActual, 0); + } + + @Test + public void addFunds() { + + CheckingAccount checking = new CheckingAccount(); + double expected = 500; + double actual = checking.addFunds(500); + + Assert.assertEquals(expected, actual, 0); + + } + + @Test + public void withDraw() { + + CheckingAccount checking = new CheckingAccount(); + checking.addFunds(500); + + double expected = 250; + double actual = checking.withDraw(250); + + Assert.assertEquals(expected, actual, 0); + + + } + +} \ No newline at end of file diff --git a/src/test/java/ConsoleTest.java b/src/test/java/ConsoleTest.java new file mode 100644 index 0000000..cde946c --- /dev/null +++ b/src/test/java/ConsoleTest.java @@ -0,0 +1,19 @@ +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class ConsoleTest { + + @Test + void login() { + } + + @Test + void accountMenu() { + } + + @Test + void accountActions() { + } + +} \ No newline at end of file diff --git a/src/test/java/UserFactoryTest.java b/src/test/java/UserFactoryTest.java new file mode 100644 index 0000000..b6b9ef3 --- /dev/null +++ b/src/test/java/UserFactoryTest.java @@ -0,0 +1,34 @@ + + + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + + +public class UserFactoryTest { + + User testUser = new User("", "", 1); + + + @Test + public void createUserTest() { + User expected = new User("jim","pass",1); + User actual=UserFactory.createUser("jim","pass",1); + Assert.assertEquals(expected,actual); + } + +// @Test +// public void setUserNameTest() { +// String expected = "Jim"; +// String actual = testUser.setUserName("Jim"); +// Assert.assertEquals(expected, actual); +// } +// +// @Test +// public void setPassWord() { +// String expected = "neat"; +// String actual = testUser.setPassword("neat"); +// Assert.assertEquals(expected, actual); +// } +} \ No newline at end of file diff --git a/src/test/java/UserTest.java b/src/test/java/UserTest.java new file mode 100644 index 0000000..16947e2 --- /dev/null +++ b/src/test/java/UserTest.java @@ -0,0 +1,86 @@ +import org.junit.Assert; +import org.junit.Test; + +import java.util.ArrayList; + + +public class UserTest { + + User testUser = new User("test", "neat", 1); + private ArrayList accounts = new ArrayList(); + + { + CheckingAccount checking = new CheckingAccount(); + SavingsAccount savings = new SavingsAccount(); + InvestmentAccount invest = new InvestmentAccount(); + accounts.add(checking); + accounts.add(savings); + accounts.add(invest); + } + + + @Test + public void addCheckingAccount() { + CheckingAccount checking = new CheckingAccount(); + accounts.add(checking); + int expected = accounts.size(); + int actual = accounts.size(); + Assert.assertEquals(expected, actual); + } + + @Test + public void addSavingsAccount() { + SavingsAccount savings = new SavingsAccount(); + accounts.add(savings); + int expected = accounts.size(); + int actual = accounts.size(); + Assert.assertEquals(expected, actual); + } + + @Test + public void addInvestmentAccount() { + InvestmentAccount invest = new InvestmentAccount(); + accounts.add(invest); + int expected = accounts.size(); + int actual = accounts.size(); + Assert.assertEquals(expected, actual); + } + + @Test + public void getUserNameTest() { + String expected = "test"; + String actual = testUser.getUserName(); + Assert.assertEquals(expected, actual); + } + + @Test + public void getId() { + int expected = 1; + int actual = testUser.getId(); + Assert.assertEquals(expected, actual); + } + + @Test + public void getPassword() { + String expected = "neat"; + String actual = testUser.getPassword(); + Assert.assertEquals(expected, actual); + } + + @Test + public void setPassword() { + String expected = testUser.getPassword(); + testUser.setPassword("neat"); + String actual = testUser.getPassword(); + Assert.assertEquals(expected, actual); + + } + + @Test + public void checkBalanceCheckingTest() { + double expected = 20; + double actual = accounts.get(0).addFunds(20); + + Assert.assertEquals(expected, actual, 0); + } +} \ No newline at end of file diff --git a/src/test/java/UserWarehouseTest.java b/src/test/java/UserWarehouseTest.java new file mode 100644 index 0000000..8b50ae8 --- /dev/null +++ b/src/test/java/UserWarehouseTest.java @@ -0,0 +1,21 @@ +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; + +import static org.junit.jupiter.api.Assertions.*; + +class UserWarehouseTest { + + static final ArrayList users = new ArrayList(); + User testUser = new User("", "", 1); + + @Test + public void addUserTest() { + + } + + @Test + public void getListTest() { + } + +} \ No newline at end of file From 5f4795ffbd2b28e11bc675ccfd21405fa36947e5 Mon Sep 17 00:00:00 2001 From: zachary Date: Wed, 25 Oct 2017 17:42:43 -0400 Subject: [PATCH 3/5] Current --- src/main/java/Account.java | 18 +++- src/main/java/Console.java | 128 ++++++++++++++++++++--------- src/main/java/User.java | 42 +++++----- src/main/java/UserFactory.java | 1 + src/test/java/AccountTest.java | 23 +++++- src/test/java/ConsoleTest.java | 19 ----- src/test/java/UserFactoryTest.java | 44 ++++++---- src/test/java/UserTest.java | 11 +-- 8 files changed, 174 insertions(+), 112 deletions(-) delete mode 100644 src/test/java/ConsoleTest.java diff --git a/src/main/java/Account.java b/src/main/java/Account.java index 5913527..1b5da47 100644 --- a/src/main/java/Account.java +++ b/src/main/java/Account.java @@ -1,9 +1,9 @@ - +import java.util.ArrayList; abstract class Account { + private double balance = 0; - public double balance = 0; - + private ArrayList history = new ArrayList(); public double checkBalance() { return this.balance; @@ -11,6 +11,7 @@ public double checkBalance() { public double addFunds(double n) { this.balance += n; + history.add("Deposited: $" + n); return this.balance; } @@ -18,10 +19,21 @@ public double withDraw(double n) { if (balance - n >= 0) { System.out.println("Successful"); + history.add("Withdrawn: $" + n); balance -= n; } else { System.out.println("Insufficient funds"); } return this.balance; } + + public String printHistory() { + String a = ""; + for (String x : history) { + System.out.println(x); + + a += x; + } + return a; + } } \ No newline at end of file diff --git a/src/main/java/Console.java b/src/main/java/Console.java index 8118a86..1d7445a 100644 --- a/src/main/java/Console.java +++ b/src/main/java/Console.java @@ -25,7 +25,6 @@ public void login() { for (User user : users) { if (user.getUserName().contains(userName)) { - if (user.getPassword().contains(userPassword)) { currentUser = user; accountMenu(); @@ -33,25 +32,31 @@ public void login() { System.out.println("User does not exist.\n"); mainMenu(); } - } else { System.out.println("User does not exist.\n"); mainMenu(); } - } mainMenu(); } - private void mainMenu() { int userinput; + boolean continueInput; Scanner input = new Scanner(System.in); - System.out.println("1: Create Account\n" + + System.out.println("\n-------Welcome-------\n" + + "1: Create Account\n" + "2: Login\n" + - "3: Exit\n"); - userinput = input.nextInt(); + "3: Exit"); + enterInteger(); + userinput = 0; + if (input.hasNextInt()) { + userinput = input.nextInt(); + } else { + System.out.println("Please try an integer."); + mainMenu(); + } switch (userinput) { case 1: UserFactory.createUser(); @@ -63,21 +68,29 @@ private void mainMenu() { case 3: exit(); break; - + default: + System.out.println("Not a valid selection"); + mainMenu(); } - } - public void accountMenu() { System.out.println("-----------------\n" + "1: Checking \n" + "2: Savings\n" + "3: Investing\n" + "4: Main Menu"); - int userInput; + enterInteger(); + Scanner input = new Scanner(System.in); - userInput = input.nextInt(); + int userInput; + userInput = 0; + if (input.hasNextInt()) { + userInput = input.nextInt(); + } else { + System.out.println("Please try an integer."); + accountMenu(); + } switch (userInput) { case 1: currentAccount = 0; @@ -94,24 +107,31 @@ public void accountMenu() { case 4: mainMenu(); break; -// case 5: -// mainMenu(); -// break; + default: + System.out.println("Not a valid selection."); + accountMenu(); } - } - public void accountActions() { System.out.println("-----------------\n" + "1: Check Balance\n" + "2: Add Funds\n" + "3: Withdraw\n" + - "4: Transfers\n" + - "5: Back"); - int userInput; + "4: Transaction History\n" + + "5: Transfers\n" + + "6: Back\n"); + + enterInteger(); Scanner input = new Scanner(System.in); - userInput = input.nextInt(); + int userInput; + userInput = 0; + if (input.hasNextInt()) { + userInput = input.nextInt(); + } else { + System.out.println("Please try an integer."); + accountActions(); + } switch (userInput) { case 1: //check balance @@ -121,55 +141,83 @@ public void accountActions() { case 2: //add funds/deposit System.out.println("Amount to be deposited: "); - double depoFunds = input.nextDouble(); + double depoFunds = 0; + if (input.hasNextDouble()) { + depoFunds = input.nextDouble(); + } else { + System.out.println("Please try an integer."); + accountActions(); + } currentUser.accounts.get(currentAccount).addFunds(depoFunds); accountActions(); break; case 3: //withdraw System.out.println("Amount to be withdrawn: "); - double withDrawFunds = input.nextDouble(); + double withDrawFunds = 0; + if (input.hasNextDouble()) { + withDrawFunds = input.nextDouble(); + } else { + System.out.println("Please try an integer."); + accountActions(); + } currentUser.accounts.get(currentAccount).withDraw(withDrawFunds); accountActions(); break; case 4: - tranfers(); + System.out.println("Transaction history:"); + currentUser.accounts.get(currentAccount).printHistory(); + accountActions(); break; case 5: + tranfers(); + break; + case 6: accountMenu(); break; + default: + accountActions(); } } private void tranfers() { int userInput; -// int account = 0; int toAccount = 0; Scanner input = new Scanner(System.in); -// System.out.println( "Transfer from: \n" + -// "0: Checking\n" + -// "1: Savings\n" + -// "2: Investing"); -// account = input.nextInt(); - System.out.println("Transfer to: \n" + - "0: Checking\n" + - "1: Savings\n" + - "2: Investing"); - toAccount = input.nextInt(); - System.out.println("Amount to transfer: "); + System.out.println("-----------------\n" + + "Transfer to: \n" + + "1: Checking\n" + + "2: Savings\n" + + "3: Investing\n"); + enterInteger(); - double funds = input.nextDouble(); + if (input.hasNextInt()) { + toAccount = input.nextInt(); + } else { + System.out.println("Please try an integer."); + tranfers(); + } + + double funds = 0; + System.out.println("Amount to transfer: "); + if (input.hasNextDouble()) { + funds = input.nextDouble(); + } else { + System.out.println("Please try an integer."); + tranfers(); + } currentUser.accounts.get(currentAccount).withDraw(funds); - currentUser.accounts.get(toAccount).addFunds(funds); + currentUser.accounts.get(toAccount - 1).addFunds(funds); accountActions(); + } + private void enterInteger() { + System.out.println("Please enter an integer."); } private void exit() { System.exit(0); } - - } diff --git a/src/main/java/User.java b/src/main/java/User.java index 7b07ed0..f94d438 100644 --- a/src/main/java/User.java +++ b/src/main/java/User.java @@ -8,7 +8,7 @@ public class User { protected static ArrayList accounts = new ArrayList<>(); { - + //gives three accounts to user upon creation CheckingAccount checking = new CheckingAccount(); accounts.add(0, checking); SavingsAccount saving = new SavingsAccount(); @@ -26,33 +26,35 @@ public User(String userName, String password, int id) { } - public void addCheckingAccount() { - CheckingAccount checking = new CheckingAccount(); - accounts.add(checking); - } +// public void addCheckingAccount() { +// CheckingAccount checking = new CheckingAccount(); +// accounts.add(checking); +// } public void addSavingsAccount() { SavingsAccount savings = new SavingsAccount(); - accounts.add(1, savings); + accounts.add(1,savings); } public void addInvestmentAccount() { InvestmentAccount invest = new InvestmentAccount(); - accounts.add(2, invest); + accounts.add(2,invest); + } + + private void removeCheckingAccount() { + + accounts.remove(0); + } + + private void removeSavingsAccount() { + + accounts.remove(1); + } + + private void removeInvestmentAccount() { + + accounts.remove(2); } -// -// private void removeCheckingAccount(){ -// -// accounts.remove(0); -// } -// private void removeSavingsAccount(){ -// -// accounts.remove(1); -// } -// private void removeInvestmentAccount(){ -// -// accounts.remove(2); -// } public static int getId() { return id; diff --git a/src/main/java/UserFactory.java b/src/main/java/UserFactory.java index dfb6ee1..4db3c3f 100644 --- a/src/main/java/UserFactory.java +++ b/src/main/java/UserFactory.java @@ -22,6 +22,7 @@ public static User createUser() { return newUser; } + //FOR TESTS public static User createUser(String name, String pass, int nextId) { String userName = name; String password = pass; diff --git a/src/test/java/AccountTest.java b/src/test/java/AccountTest.java index eadaa31..f4971af 100644 --- a/src/test/java/AccountTest.java +++ b/src/test/java/AccountTest.java @@ -11,19 +11,25 @@ class AccountTest { private double balance = 0; @Test - public void checkBalance() { + public void checkBalanceChecking() { CheckingAccount checking = new CheckingAccount(); double expected = 0; double actual = checking.checkBalance(); Assert.assertEquals(expected, actual, 0); - + } + @Test + public void checkBalanceSaving(){ SavingsAccount savings = new SavingsAccount(); double saveExpected = 0; double saveActual = savings.checkBalance(); Assert.assertEquals(saveExpected, saveActual, 0); - + } + @Test + public void checkBalanceInvest(){ InvestmentAccount investing = new InvestmentAccount(); - double investExpected = 0; + investing.addFunds(50); + + double investExpected = 50; double investActual = investing.checkBalance(); Assert.assertEquals(investExpected, investActual, 0); } @@ -49,8 +55,17 @@ public void withDraw() { double actual = checking.withDraw(250); Assert.assertEquals(expected, actual, 0); + } + @Test + public void printHistory(){ + + CheckingAccount checking = new CheckingAccount(); + checking.addFunds(5); + String expected = "Deposited: $5.0"; + String actual = checking.printHistory(); + Assert.assertEquals(expected,actual); } } \ No newline at end of file diff --git a/src/test/java/ConsoleTest.java b/src/test/java/ConsoleTest.java deleted file mode 100644 index cde946c..0000000 --- a/src/test/java/ConsoleTest.java +++ /dev/null @@ -1,19 +0,0 @@ -import org.junit.jupiter.api.Test; - -import static org.junit.jupiter.api.Assertions.*; - -class ConsoleTest { - - @Test - void login() { - } - - @Test - void accountMenu() { - } - - @Test - void accountActions() { - } - -} \ No newline at end of file diff --git a/src/test/java/UserFactoryTest.java b/src/test/java/UserFactoryTest.java index b6b9ef3..be98b1f 100644 --- a/src/test/java/UserFactoryTest.java +++ b/src/test/java/UserFactoryTest.java @@ -2,33 +2,41 @@ import org.junit.Assert; -import org.junit.Before; import org.junit.Test; public class UserFactoryTest { - User testUser = new User("", "", 1); + User testUser = new User("jim", "neat", 1); @Test public void createUserTest() { - User expected = new User("jim","pass",1); - User actual=UserFactory.createUser("jim","pass",1); - Assert.assertEquals(expected,actual); + User newUser= testUser; + String expected = newUser.getUserName(); + User actualUser = UserFactory.createUser("jim", "neat", 1); + String actual = actualUser.getUserName(); + + + Assert.assertEquals(expected, actual); + } + + @Test + public void setUserNameTest() { + + String expected = testUser.getUserName(); + testUser.setUserName("jim"); + String actual = testUser.getUserName(); + + Assert.assertEquals(expected, actual); } -// @Test -// public void setUserNameTest() { -// String expected = "Jim"; -// String actual = testUser.setUserName("Jim"); -// Assert.assertEquals(expected, actual); -// } -// -// @Test -// public void setPassWord() { -// String expected = "neat"; -// String actual = testUser.setPassword("neat"); -// Assert.assertEquals(expected, actual); -// } + @Test + public void setPassWord() { + String expected = testUser.getPassword(); + testUser.setPassword("neat"); + String actual = testUser.getPassword(); + + Assert.assertEquals(expected, actual); + } } \ No newline at end of file diff --git a/src/test/java/UserTest.java b/src/test/java/UserTest.java index 16947e2..fc6aa56 100644 --- a/src/test/java/UserTest.java +++ b/src/test/java/UserTest.java @@ -21,6 +21,7 @@ public class UserTest { @Test public void addCheckingAccount() { +// int expected = accounts.size(); CheckingAccount checking = new CheckingAccount(); accounts.add(checking); int expected = accounts.size(); @@ -30,6 +31,7 @@ public void addCheckingAccount() { @Test public void addSavingsAccount() { +// int expected = accounts.size(); SavingsAccount savings = new SavingsAccount(); accounts.add(savings); int expected = accounts.size(); @@ -39,6 +41,7 @@ public void addSavingsAccount() { @Test public void addInvestmentAccount() { +// int expected = accounts.size(); InvestmentAccount invest = new InvestmentAccount(); accounts.add(invest); int expected = accounts.size(); @@ -75,12 +78,4 @@ public void setPassword() { Assert.assertEquals(expected, actual); } - - @Test - public void checkBalanceCheckingTest() { - double expected = 20; - double actual = accounts.get(0).addFunds(20); - - Assert.assertEquals(expected, actual, 0); - } } \ No newline at end of file From acbf67f5d18d231d6f6bfac1c879f79fcd5b5a62 Mon Sep 17 00:00:00 2001 From: zachary Date: Thu, 26 Oct 2017 07:03:10 -0400 Subject: [PATCH 4/5] saving --- src/main/java/Main.java | 1 + src/main/java/User.java | 43 ++++++++++++++-------------- src/main/java/UserFactory.java | 16 +++++------ src/test/java/UserFactoryTest.java | 4 +-- src/test/java/UserTest.java | 23 ++++++++++----- src/test/java/UserWarehouseTest.java | 2 +- 6 files changed, 49 insertions(+), 40 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 466d739..987ddd1 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -10,4 +10,5 @@ public static void main(String[] args) { } + } diff --git a/src/main/java/User.java b/src/main/java/User.java index f94d438..c1db380 100644 --- a/src/main/java/User.java +++ b/src/main/java/User.java @@ -2,7 +2,7 @@ public class User { - private static int id; + private int id =0; private String userName; private String password; protected static ArrayList accounts = new ArrayList<>(); @@ -17,12 +17,11 @@ public class User { accounts.add(2, invest); } - public User(String userName, String password, int id) { + public User(String userName, String password) { this.userName = userName; this.password = password; this.id = id; id++; - } @@ -33,35 +32,35 @@ public User(String userName, String password, int id) { public void addSavingsAccount() { SavingsAccount savings = new SavingsAccount(); - accounts.add(1,savings); + accounts.add(1, savings); } public void addInvestmentAccount() { InvestmentAccount invest = new InvestmentAccount(); - accounts.add(2,invest); - } - - private void removeCheckingAccount() { - - accounts.remove(0); - } - - private void removeSavingsAccount() { - - accounts.remove(1); + accounts.add(2, invest); } - private void removeInvestmentAccount() { - - accounts.remove(2); - } +// private void removeCheckingAccount() { +// +// accounts.remove(0); +// } +// +// private void removeSavingsAccount() { +// +// accounts.remove(1); +// } +// +// private void removeInvestmentAccount() { +// +// accounts.remove(2); +// } - public static int getId() { + public int getId() { return id; } - public static void setId(int id) { - User.id = id; + public void setId(int id) { + this.id = id; } public String getUserName() { diff --git a/src/main/java/UserFactory.java b/src/main/java/UserFactory.java index 4db3c3f..d9404cd 100644 --- a/src/main/java/UserFactory.java +++ b/src/main/java/UserFactory.java @@ -6,7 +6,7 @@ protected UserFactory() { } - private static int nextId; + public static User createUser() { @@ -14,22 +14,22 @@ public static User createUser() { String userName = setUserName(); String password = setPassword(); - int id = nextId; - User newUser = new User(userName, password, id); + + User newUser = new User(userName, password); UserWarehouse.addUser(newUser); - nextId++; + return newUser; } //FOR TESTS - public static User createUser(String name, String pass, int nextId) { + public static User createUser(String name, String pass) { String userName = name; String password = pass; - int id = nextId; - User newUser = new User(userName, password, id); + + User newUser = new User(userName, password); UserWarehouse.addUser(newUser); - nextId++; + return newUser; } diff --git a/src/test/java/UserFactoryTest.java b/src/test/java/UserFactoryTest.java index be98b1f..06431ad 100644 --- a/src/test/java/UserFactoryTest.java +++ b/src/test/java/UserFactoryTest.java @@ -7,14 +7,14 @@ public class UserFactoryTest { - User testUser = new User("jim", "neat", 1); + User testUser = new User("jim", "neat"); @Test public void createUserTest() { User newUser= testUser; String expected = newUser.getUserName(); - User actualUser = UserFactory.createUser("jim", "neat", 1); + User actualUser = UserFactory.createUser("jim", "neat"); String actual = actualUser.getUserName(); diff --git a/src/test/java/UserTest.java b/src/test/java/UserTest.java index fc6aa56..3e569fc 100644 --- a/src/test/java/UserTest.java +++ b/src/test/java/UserTest.java @@ -6,7 +6,10 @@ public class UserTest { - User testUser = new User("test", "neat", 1); + User testUser1 = new User("test", "neat"); + + User testUser2 = new User("test", "neat"); + User testUser3 = new User("test", "neat"); private ArrayList accounts = new ArrayList(); { @@ -52,29 +55,35 @@ public void addInvestmentAccount() { @Test public void getUserNameTest() { String expected = "test"; - String actual = testUser.getUserName(); + String actual = testUser1.getUserName(); Assert.assertEquals(expected, actual); } @Test public void getId() { int expected = 1; - int actual = testUser.getId(); + int actual = testUser1.getId(); + Assert.assertEquals(expected, actual); + } + @Test + public void getIdTest() { + int expected = 2; + int actual = testUser2.getId(); Assert.assertEquals(expected, actual); } @Test public void getPassword() { String expected = "neat"; - String actual = testUser.getPassword(); + String actual = testUser1.getPassword(); Assert.assertEquals(expected, actual); } @Test public void setPassword() { - String expected = testUser.getPassword(); - testUser.setPassword("neat"); - String actual = testUser.getPassword(); + String expected = testUser1.getPassword(); + testUser1.setPassword("neat"); + String actual = testUser1.getPassword(); Assert.assertEquals(expected, actual); } diff --git a/src/test/java/UserWarehouseTest.java b/src/test/java/UserWarehouseTest.java index 8b50ae8..21a6d5e 100644 --- a/src/test/java/UserWarehouseTest.java +++ b/src/test/java/UserWarehouseTest.java @@ -7,7 +7,7 @@ class UserWarehouseTest { static final ArrayList users = new ArrayList(); - User testUser = new User("", "", 1); + User testUser = new User("", ""); @Test public void addUserTest() { From e05621d515799ebcd178344065efe1667fc1f589 Mon Sep 17 00:00:00 2001 From: Zachary Stimmel Date: Thu, 26 Oct 2017 12:50:03 -0400 Subject: [PATCH 5/5] Update ATM --- ATM | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ATM b/ATM index 3f86135..626b7c3 100644 --- a/ATM +++ b/ATM @@ -1 +1 @@ -UzV2zq1wL0osyPDNT0nNUTV2VTV2LsrPL4GwciucU3NyVI0MMlNUjV1UjYwMgFjVyA2HrCFY1qAgsSg1rwSLBiADYTaQg2Y1AA== \ No newline at end of file +3VlfT9swEP80ldgDKHFISx9LgQ1pm5DQtPFoEpN4pHFlu027T79z4jSxk5bSJaUaL9jXO/t8v/tnZ+BNZ6vPHM/jbywkyQA54Wrg3QwQci99B/4pyrqgDF1NiDgNNVNFeKR/iCaWbAsaEmEwSsYSSecmMWBpSgJp0DDnLDPZXlhi7jrHEWkQHgOcNKk/aSjjgnpVHkvRvxAaxeXOrqN/ecbBa8TZItX7DZD3kv8VP89wuZbmFzEOWVYjebcDb8oZk8VotpqSRNm2NFshd7fl143enKRyH4FLrYZcl0cnIVhCTxmXMYtYipPbinqdH4+oBRyYxXKWwNCFIVlR+as2flIsFz7MfhMp1xpmvJAMSNXaXxmba6lCG6XC1vNokmALHmgupD0E84hoLn9jS/BRwmZE8jWwcJJgSZfm6lg7S7Th24g+MAr7Ikc7Niph1m7t++YKhQZaqLI6DGpaVKQci3Zc9JGWOFloZX8IwgdomMABr0O6hGEkc4sVpGduU2CLFr4a6VxtNsl13VcixTNQZ/IoOU2j/cXm2ZtClheaPpbFVJLHOc4BzyDlmH6nbUW4JKvdftP0iFLABBY5Gtmsin63jP64FvljZ7sPGfDvwNpvYD15FpLjQHneJAjAFLJb5FtIQYKFgJQLaqUx4VTtDSeJWSjevey+Gp2YDyDfdIIN4G85wSb7/4sXDFsj/syKuCmEEnKK2acWCJTMvQrr+8pnmnAYVr8WkLIA/Izx8OzT+6O7WOE76Lm39IkBbwf/eM/gd90OcN8UtE5LsHOB/FoVdnuvwaN+Cu7IhObSjrQOKy7qB4f/AQavrFFHgMHrB4bRB+BgtqRFr909NldHC5FRo0SdZ1TGNxxneeq/b+1TzkMyZ4LKiuUuZItnAG7v/jGISfB6jROcBkWRee8C0E2l4oVwcbg0tGOUpaoCUCGZMtkEbpp4ncB04N311iQdJHpinRTau5NCHVRUt5dMfuxL7biXbOGP7WzRV7Jw/V4SuYFCkdRT0KlWa9X0SbMeASIryXeB2kTllRrDXMEhtoPqWuE2tN58LPYrfwc3DIrtD8V93CgSLZlsylLB3pGCU6KuPYvaE8ibIuAlQuY3kZ1yH5wpPevK2ZIn3ZY8OewiTQ6PHaCuEZ7FDaXfCHUvTyVExzbQ3s4YtfkhajuN0tIwtTB9gPYob3DuoNVRDU4nL4b6aeCAR8Pas8Spvx7aVRW1hDHq7QGhCSVNl0Qnv4/Ob9tuJzXTXLVYxuvCMONeEpxxo++/yejpU4Z9pffG/X3LaD5wC7w8Ce+0Xv68lpe/8htP3Tvtrvkg72w++ObX3FOwy6Z53xG1o5aoPcAuMK2+dhbOVX1S9m7/Ag== \ No newline at end of file