diff --git a/pom.xml b/pom.xml
index 9901415..e5fd8d6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,5 +8,21 @@
project-2-atm
1.0-SNAPSHOT
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
+ org.apache.commons
+ commons-lang3
+ 3.9
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/AccountClasses/Account.java b/src/main/java/AccountClasses/Account.java
new file mode 100644
index 0000000..f3d6aeb
--- /dev/null
+++ b/src/main/java/AccountClasses/Account.java
@@ -0,0 +1,42 @@
+package AccountClasses;
+
+public abstract class Account {
+ Double balance=0.00;
+ Integer counter=1;
+ String accountNum = "A" + counter;
+
+
+ public Account() {
+ balance = 0.00;
+ counter++;
+ //give account number;
+ }
+
+
+
+ public Double getAccountBal()
+ {
+ return this.balance ;
+ }
+
+ public String getAccountNum ()
+ {
+ return this.accountNum;
+ }
+
+ public Double withdraw(Double withdrawalAmt) {
+ //Error.checkIfEnough(withdrawalAmt, balance);
+ return this.balance - withdrawalAmt;
+ }
+
+ public double deposit(Double depositAmt) {
+
+ balance = balance + depositAmt;
+ return balance;
+ }
+ public Double transfer()
+ {
+ return null;
+ }
+
+}
diff --git a/src/main/java/AccountClasses/Checking.java b/src/main/java/AccountClasses/Checking.java
new file mode 100644
index 0000000..73520ef
--- /dev/null
+++ b/src/main/java/AccountClasses/Checking.java
@@ -0,0 +1,4 @@
+package AccountClasses;
+
+public class Checking extends Account {
+}
diff --git a/src/main/java/AccountClasses/Investment.java b/src/main/java/AccountClasses/Investment.java
new file mode 100644
index 0000000..a93c6f2
--- /dev/null
+++ b/src/main/java/AccountClasses/Investment.java
@@ -0,0 +1,4 @@
+package AccountClasses;
+
+public class Investment extends Account {
+}
diff --git a/src/main/java/AccountClasses/Savings.java b/src/main/java/AccountClasses/Savings.java
new file mode 100644
index 0000000..9641666
--- /dev/null
+++ b/src/main/java/AccountClasses/Savings.java
@@ -0,0 +1,4 @@
+package AccountClasses;
+
+public class Savings extends Account {
+}
diff --git a/src/main/java/ConsoleClasses/Console.java b/src/main/java/ConsoleClasses/Console.java
new file mode 100644
index 0000000..1ca12a1
--- /dev/null
+++ b/src/main/java/ConsoleClasses/Console.java
@@ -0,0 +1,36 @@
+package ConsoleClasses;
+import java.util.Scanner;
+
+public class Console {
+
+
+ public static void print(String output, Object... args) {
+ System.out.printf(output, args);
+ }
+
+ public static void println(String output, Object... args) {
+ print(output + "\n", args);
+ }
+
+ public static String getStringInput(String prompt) {
+ Scanner scanner = new Scanner(System.in);
+ println(prompt);
+ String userInput = scanner.nextLine();
+ return userInput;
+ }
+
+ public static Integer getIntegerInput(String prompt) {
+ Scanner scanner = new Scanner(System.in);
+ println(prompt);
+ Integer userInputInt = scanner.nextInt();
+ return userInputInt;
+ }
+
+ public static Double getDoubleInput(String prompt) {
+ Scanner scanner = new Scanner(System.in);
+ println(prompt);
+ Double userInputDouble = scanner.nextDouble();
+ return userInputDouble;
+ }
+
+ }
diff --git a/src/main/java/ConsoleClasses/ConsoleMock.java b/src/main/java/ConsoleClasses/ConsoleMock.java
new file mode 100644
index 0000000..6c92d70
--- /dev/null
+++ b/src/main/java/ConsoleClasses/ConsoleMock.java
@@ -0,0 +1,4 @@
+package ConsoleClasses;
+
+public class ConsoleMock {
+}
diff --git a/src/main/java/Error.java b/src/main/java/Error.java
new file mode 100644
index 0000000..1cea6c0
--- /dev/null
+++ b/src/main/java/Error.java
@@ -0,0 +1,2 @@
+public class Error {
+}
diff --git a/src/main/java/Persistence/CreateTables.java b/src/main/java/Persistence/CreateTables.java
new file mode 100644
index 0000000..30c1741
--- /dev/null
+++ b/src/main/java/Persistence/CreateTables.java
@@ -0,0 +1,63 @@
+package Persistence;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+public class CreateTables {
+ // JDBC driver name and database URL
+ static final String JDBC_DRIVER = "org.h2.Driver";
+ static final String DB_URL = "jdbc:h2:mem:atmDB";
+
+ // Database credentials
+ static final String USER = "";
+ static final String PASS = "";
+
+ public static void main(String[] args) {
+ Connection conn = null;
+ Statement stmt = null;
+ try {
+ // STEP 1: Register JDBC driver
+ Class.forName(JDBC_DRIVER);
+
+ //STEP 2: Open a connection
+ System.out.println("Connecting to database...");
+ conn = DriverManager.getConnection(DB_URL,USER,PASS);
+
+ //STEP 3: Execute a query
+ System.out.println("Creating table in given database...");
+ stmt = conn.createStatement();
+ String sql = "CREATE TABLE REGISTRATION " +
+ "(id INTEGER not NULL, " +
+ " first VARCHAR(255), " +
+ " last VARCHAR(255), " +
+ " age INTEGER, " +
+ " PRIMARY KEY ( id ))";
+ stmt.executeUpdate(sql);
+ System.out.println("Created table in given database...");
+
+ // STEP 4: Clean-up environment
+ stmt.close();
+ conn.close();
+ } catch(SQLException se) {
+ //Handle errors for JDBC
+ se.printStackTrace();
+ } catch(Exception e) {
+ //Handle errors for Class.forName
+ e.printStackTrace();
+ } finally {
+ //finally block used to close resources
+ try{
+ if(stmt!=null) stmt.close();
+ } catch(SQLException se2) {
+ } // nothing we can do
+ try {
+ if(conn!=null) conn.close();
+ } catch(SQLException se){
+ se.printStackTrace();
+ } //end finally try
+ } //end try
+ System.out.println("Goodbye!");
+ }
+ }
diff --git a/src/main/java/Persistence/InsertQuery.java b/src/main/java/Persistence/InsertQuery.java
new file mode 100644
index 0000000..fc8fd69
--- /dev/null
+++ b/src/main/java/Persistence/InsertQuery.java
@@ -0,0 +1,4 @@
+package Persistence;
+
+public class InsertQuery {
+}
diff --git a/src/main/java/Persistence/SelectQuery.java b/src/main/java/Persistence/SelectQuery.java
new file mode 100644
index 0000000..38d3252
--- /dev/null
+++ b/src/main/java/Persistence/SelectQuery.java
@@ -0,0 +1,4 @@
+package Persistence;
+
+public class SelectQuery {
+}
diff --git a/src/main/java/Persistence/UpdateQuery.java b/src/main/java/Persistence/UpdateQuery.java
new file mode 100644
index 0000000..a2656b3
--- /dev/null
+++ b/src/main/java/Persistence/UpdateQuery.java
@@ -0,0 +1,4 @@
+package Persistence;
+
+public class UpdateQuery {
+}
diff --git a/src/main/java/User.java b/src/main/java/User.java
new file mode 100644
index 0000000..52dda73
--- /dev/null
+++ b/src/main/java/User.java
@@ -0,0 +1,2 @@
+public class User {
+}
diff --git a/src/test/java/AccountClasses/CheckingTest.java b/src/test/java/AccountClasses/CheckingTest.java
new file mode 100644
index 0000000..77e9a8b
--- /dev/null
+++ b/src/test/java/AccountClasses/CheckingTest.java
@@ -0,0 +1,55 @@
+package AccountClasses;
+
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class CheckingTest {
+
+
+ @Test
+ public void constructorTest()
+ {
+ Checking testCheck = new Checking();
+ }
+
+ @Test
+ public void withdrawTest ()
+ {
+ Checking checkWithdraw = new Checking();
+ Double expected = -20D;
+ Double actual = checkWithdraw.withdraw(20D);
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void withdrawTest2 ()
+ {
+ Checking checkWithdraw = new Checking();
+ Double expected = -50D;
+ Double actual = checkWithdraw.withdraw(50D);
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void getAccountBalTest1 ()
+ {
+ Checking checkWithdraw = new Checking();
+ Double expected = 0.0;
+ Double actual = checkWithdraw.getAccountBal();
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void getAccountNum1 () {
+ Checking accountNum = new Checking();
+ Checking accountNum2 = new Checking();
+ Checking accountNum3 = new Checking();
+ String expected = "A3";
+ String actual = accountNum3.getAccountNum();
+ Assert.assertEquals(expected, actual);
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/src/test/java/AccountClasses/InvestmentTest.java b/src/test/java/AccountClasses/InvestmentTest.java
new file mode 100644
index 0000000..efa6b7c
--- /dev/null
+++ b/src/test/java/AccountClasses/InvestmentTest.java
@@ -0,0 +1,7 @@
+package AccountClasses;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class InvestmentTest {
+
+}
\ No newline at end of file
diff --git a/src/test/java/AccountClasses/SavingsTest.java b/src/test/java/AccountClasses/SavingsTest.java
new file mode 100644
index 0000000..a91050a
--- /dev/null
+++ b/src/test/java/AccountClasses/SavingsTest.java
@@ -0,0 +1,7 @@
+package AccountClasses;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class SavingsTest {
+
+}
\ 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..9cbe830
--- /dev/null
+++ b/src/test/java/UserTest.java
@@ -0,0 +1,7 @@
+package java;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class UserTest {
+
+}
\ No newline at end of file