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