#24 roympanju_1

開啟中
roympanju_1 請求將 3 次程式碼提交從 roympanju_1/ZCW-Inheritance-AbstractBankAccount:master 合併至 master
共有 27 個檔案被更改,包括 1313 行新增414 行删除
  1. 0
    61
      .idea/misc.xml
  2. 2
    0
      .idea/modules.xml
  3. 124
    0
      .idea/uiDesigner.xml
  4. 857
    345
      .idea/workspace.xml
  5. 二進制
      out/production/main/com/zipcodewilmington/bankaccountlab/Account.class
  6. 二進制
      out/production/main/com/zipcodewilmington/bankaccountlab/Atm.class
  7. 二進制
      out/production/main/com/zipcodewilmington/bankaccountlab/BankAccount.class
  8. 二進制
      out/production/main/com/zipcodewilmington/bankaccountlab/BusinessAccount.class
  9. 二進制
      out/production/main/com/zipcodewilmington/bankaccountlab/CheckingAccount.class
  10. 二進制
      out/production/main/com/zipcodewilmington/bankaccountlab/MainApplication.class
  11. 二進制
      out/production/main/com/zipcodewilmington/bankaccountlab/SavingsAccount.class
  12. 二進制
      out/test/test/com/zipcodewilmington/bankaccountlab/BusinessAccountTest.class
  13. 二進制
      out/test/test/com/zipcodewilmington/bankaccountlab/CheckingAccountTest.class
  14. 二進制
      out/test/test/com/zipcodewilmington/bankaccountlab/SavingsAccountTest.class
  15. 二進制
      out/test/test/com/zipcodewilmington/bankaccountlab/testTest.class
  16. 23
    0
      src/main/java/com/zipcodewilmington/bankaccountlab/Account.java
  17. 100
    0
      src/main/java/com/zipcodewilmington/bankaccountlab/Atm.java
  18. 32
    1
      src/main/java/com/zipcodewilmington/bankaccountlab/BankAccount.java
  19. 23
    0
      src/main/java/com/zipcodewilmington/bankaccountlab/BusinessAccount.java
  20. 25
    0
      src/main/java/com/zipcodewilmington/bankaccountlab/CheckingAccount.java
  21. 7
    0
      src/main/java/com/zipcodewilmington/bankaccountlab/MainApplication.java
  22. 33
    0
      src/main/java/com/zipcodewilmington/bankaccountlab/SavingsAccount.java
  23. 0
    7
      src/test/java/com/zipcodewilmington/bankaccountlab/BankAccountTest.java
  24. 16
    0
      src/test/java/com/zipcodewilmington/bankaccountlab/BusinessAccountTest.java
  25. 27
    0
      src/test/java/com/zipcodewilmington/bankaccountlab/CheckingAccountTest.java
  26. 27
    0
      src/test/java/com/zipcodewilmington/bankaccountlab/SavingsAccountTest.java
  27. 17
    0
      src/test/java/com/zipcodewilmington/bankaccountlab/testTest.java

+ 0
- 61
.idea/misc.xml 查看文件

64
   <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
64
   <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
65
     <output url="file://$PROJECT_DIR$/out" />
65
     <output url="file://$PROJECT_DIR$/out" />
66
   </component>
66
   </component>
67
-  <component name="masterDetails">
68
-    <states>
69
-      <state key="GlobalLibrariesConfigurable.UI">
70
-        <settings>
71
-          <splitter-proportions>
72
-            <option name="proportions">
73
-              <list>
74
-                <option value="0.2" />
75
-              </list>
76
-            </option>
77
-          </splitter-proportions>
78
-        </settings>
79
-      </state>
80
-      <state key="JdkListConfigurable.UI">
81
-        <settings>
82
-          <last-edited>1.8</last-edited>
83
-          <splitter-proportions>
84
-            <option name="proportions">
85
-              <list>
86
-                <option value="0.2" />
87
-              </list>
88
-            </option>
89
-          </splitter-proportions>
90
-        </settings>
91
-      </state>
92
-      <state key="ProjectJDKs.UI">
93
-        <settings>
94
-          <last-edited>1.8</last-edited>
95
-          <splitter-proportions>
96
-            <option name="proportions">
97
-              <list>
98
-                <option value="0.2" />
99
-              </list>
100
-            </option>
101
-          </splitter-proportions>
102
-        </settings>
103
-      </state>
104
-      <state key="ProjectLibrariesConfigurable.UI">
105
-        <settings>
106
-          <splitter-proportions>
107
-            <option name="proportions">
108
-              <list>
109
-                <option value="0.2" />
110
-              </list>
111
-            </option>
112
-          </splitter-proportions>
113
-        </settings>
114
-      </state>
115
-      <state key="ScopeChooserConfigurable.UI">
116
-        <settings>
117
-          <splitter-proportions>
118
-            <option name="proportions">
119
-              <list>
120
-                <option value="0.2" />
121
-              </list>
122
-            </option>
123
-          </splitter-proportions>
124
-        </settings>
125
-      </state>
126
-    </states>
127
-  </component>
128
 </project>
67
 </project>

+ 2
- 0
.idea/modules.xml 查看文件

3
   <component name="ProjectModuleManager">
3
   <component name="ProjectModuleManager">
4
     <modules>
4
     <modules>
5
       <module fileurl="file://$PROJECT_DIR$/bankaccountlab.iml" filepath="$PROJECT_DIR$/bankaccountlab.iml" />
5
       <module fileurl="file://$PROJECT_DIR$/bankaccountlab.iml" filepath="$PROJECT_DIR$/bankaccountlab.iml" />
6
+      <module fileurl="file://$PROJECT_DIR$/src/main/main.iml" filepath="$PROJECT_DIR$/src/main/main.iml" />
7
+      <module fileurl="file://$PROJECT_DIR$/src/test/test.iml" filepath="$PROJECT_DIR$/src/test/test.iml" />
6
     </modules>
8
     </modules>
7
   </component>
9
   </component>
8
 </project>
10
 </project>

+ 124
- 0
.idea/uiDesigner.xml 查看文件

1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="Palette2">
4
+    <group name="Swing">
5
+      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
6
+        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
7
+      </item>
8
+      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
9
+        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
10
+      </item>
11
+      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
12
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
13
+      </item>
14
+      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
15
+        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
16
+      </item>
17
+      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
18
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
19
+        <initial-values>
20
+          <property name="text" value="Button" />
21
+        </initial-values>
22
+      </item>
23
+      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
24
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
25
+        <initial-values>
26
+          <property name="text" value="RadioButton" />
27
+        </initial-values>
28
+      </item>
29
+      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
30
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
31
+        <initial-values>
32
+          <property name="text" value="CheckBox" />
33
+        </initial-values>
34
+      </item>
35
+      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
36
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
37
+        <initial-values>
38
+          <property name="text" value="Label" />
39
+        </initial-values>
40
+      </item>
41
+      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
42
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
43
+          <preferred-size width="150" height="-1" />
44
+        </default-constraints>
45
+      </item>
46
+      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
47
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
48
+          <preferred-size width="150" height="-1" />
49
+        </default-constraints>
50
+      </item>
51
+      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
52
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
53
+          <preferred-size width="150" height="-1" />
54
+        </default-constraints>
55
+      </item>
56
+      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
57
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
58
+          <preferred-size width="150" height="50" />
59
+        </default-constraints>
60
+      </item>
61
+      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
62
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
63
+          <preferred-size width="150" height="50" />
64
+        </default-constraints>
65
+      </item>
66
+      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
67
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
68
+          <preferred-size width="150" height="50" />
69
+        </default-constraints>
70
+      </item>
71
+      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
72
+        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
73
+      </item>
74
+      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
75
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
76
+          <preferred-size width="150" height="50" />
77
+        </default-constraints>
78
+      </item>
79
+      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
80
+        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
81
+          <preferred-size width="150" height="50" />
82
+        </default-constraints>
83
+      </item>
84
+      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
85
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
86
+          <preferred-size width="150" height="50" />
87
+        </default-constraints>
88
+      </item>
89
+      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
90
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
91
+          <preferred-size width="200" height="200" />
92
+        </default-constraints>
93
+      </item>
94
+      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
95
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
96
+          <preferred-size width="200" height="200" />
97
+        </default-constraints>
98
+      </item>
99
+      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
100
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
101
+      </item>
102
+      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
103
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
104
+      </item>
105
+      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
106
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
107
+      </item>
108
+      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
109
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
110
+      </item>
111
+      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
112
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
113
+          <preferred-size width="-1" height="20" />
114
+        </default-constraints>
115
+      </item>
116
+      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
117
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
118
+      </item>
119
+      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
120
+        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
121
+      </item>
122
+    </group>
123
+  </component>
124
+</project>

+ 857
- 345
.idea/workspace.xml
文件差異過大導致無法顯示
查看文件


二進制
out/production/main/com/zipcodewilmington/bankaccountlab/Account.class 查看文件


二進制
out/production/main/com/zipcodewilmington/bankaccountlab/Atm.class 查看文件


二進制
out/production/main/com/zipcodewilmington/bankaccountlab/BankAccount.class 查看文件


二進制
out/production/main/com/zipcodewilmington/bankaccountlab/BusinessAccount.class 查看文件


二進制
out/production/main/com/zipcodewilmington/bankaccountlab/CheckingAccount.class 查看文件


二進制
out/production/main/com/zipcodewilmington/bankaccountlab/MainApplication.class 查看文件


二進制
out/production/main/com/zipcodewilmington/bankaccountlab/SavingsAccount.class 查看文件


二進制
out/test/test/com/zipcodewilmington/bankaccountlab/BusinessAccountTest.class 查看文件


二進制
out/test/test/com/zipcodewilmington/bankaccountlab/CheckingAccountTest.class 查看文件


二進制
out/test/test/com/zipcodewilmington/bankaccountlab/SavingsAccountTest.class 查看文件


二進制
out/test/test/com/zipcodewilmington/bankaccountlab/testTest.class 查看文件


+ 23
- 0
src/main/java/com/zipcodewilmington/bankaccountlab/Account.java 查看文件

1
+package com.zipcodewilmington.bankaccountlab;
2
+
3
+public class Account {
4
+
5
+    public static BankAccount accessAccount (String str, String name, double amount ){
6
+
7
+        if (str.equalsIgnoreCase("checkings")){
8
+            return new CheckingAccount(name, amount);
9
+        } else if (str.equalsIgnoreCase("savings")){
10
+            return new SavingsAccount(name, amount);
11
+        }
12
+        else if (str.equalsIgnoreCase("business")){
13
+            return new BusinessAccount(name, amount);
14
+        }
15
+
16
+        return  null;
17
+
18
+    }
19
+
20
+
21
+}
22
+
23
+

+ 100
- 0
src/main/java/com/zipcodewilmington/bankaccountlab/Atm.java 查看文件

1
+package com.zipcodewilmington.bankaccountlab;
2
+
3
+import java.util.ArrayList;
4
+import java.util.InputMismatchException;
5
+import java.util.Scanner;
6
+
7
+public class Atm {
8
+
9
+    BankAccount account;
10
+    ArrayList<BankAccount> accounts;
11
+    Scanner in = new Scanner(System.in);
12
+
13
+    public String getNameFromUser (){
14
+        System.out.println("Enter your name");
15
+        String name = in.nextLine();
16
+        return name;
17
+    }
18
+
19
+    public ArrayList<BankAccount> accountsArray(int num, String name){
20
+        accounts = new ArrayList<>();
21
+        for (int i=0; i<num; i++){
22
+            System.out.println("Enter account name");
23
+            String str = in.next();
24
+            System.out.println("Enter amount");
25
+            double balance = in.nextDouble();
26
+            accounts.add(Account.accessAccount(str, name, balance));
27
+        }
28
+        return accounts;
29
+    }
30
+
31
+    public double getAmountFromUser(){
32
+        System.out.println("Enter amount");
33
+        double amount = in.nextDouble();
34
+        return amount;
35
+    }
36
+
37
+    public BankAccount AccountIfo (String str) throws InputMismatchException{
38
+        Class checkFor = str.equals("checkings")
39
+                ? CheckingAccount.class
40
+                : str.equals("savings")
41
+                ? SavingsAccount.class
42
+                : str.equals("business")
43
+                ? BusinessAccount.class
44
+                : null;
45
+
46
+        BankAccount korrektBankerinoAkkount = null;
47
+        for (BankAccount acc : accounts) {
48
+            if (acc.getClass() == checkFor) korrektBankerinoAkkount = acc;
49
+        }
50
+        return korrektBankerinoAkkount;
51
+    }
52
+
53
+    public void container(){
54
+        boolean welcome = true;
55
+        String selectedAccount = " ";
56
+        int num = 0 ;
57
+        Scanner in = new Scanner(System.in);
58
+        String name = getNameFromUser();
59
+        while(welcome){
60
+            System.out.println("enter choice:\n 1 to open account\n 2 to deposit\n 3 to withdraw\n 4 to check balance\n 5 to exit");
61
+            int response = in.nextInt();
62
+            switch (response){
63
+                case 1:
64
+                    System.out.println("how many accounts to open");
65
+                    num = in.nextInt();
66
+                    accountsArray(num, name);
67
+                    break;
68
+                case 2:
69
+                    System.out.println("choose account to deposit to");
70
+                    selectedAccount = in.next();
71
+                    AccountIfo(selectedAccount).depositMoney(getAmountFromUser());
72
+                    break;
73
+                case 3:
74
+                    System.out.println("choose account to withdraw from");
75
+                    selectedAccount = in.next();
76
+                    AccountIfo(selectedAccount).withDraw(getAmountFromUser());
77
+                    break;
78
+                case 4:
79
+                    if(accounts.size() == 1){
80
+                        System.out.println("Your "+ accounts.get(0).accountName()+" account balance is " +
81
+                                AccountIfo(accounts.get(0).accountName()).getAmount());
82
+                    }
83
+                    else if (accounts.size()>1) {
84
+                        System.out.println("Enter account name");
85
+                        selectedAccount = in.next();
86
+                        System.out.println("Your " + selectedAccount + " balance is " +
87
+                                AccountIfo(selectedAccount).getAmount());
88
+                    }
89
+                    break;
90
+                case 5:
91
+                    welcome = false;
92
+                    break;
93
+                    default:
94
+                        System.out.println("please check your response");
95
+                        break;
96
+            }
97
+        }
98
+    }
99
+}
100
+

+ 32
- 1
src/main/java/com/zipcodewilmington/bankaccountlab/BankAccount.java 查看文件

3
 /**
3
 /**
4
  * Created by leon on 1/10/18.
4
  * Created by leon on 1/10/18.
5
  */
5
  */
6
-public class BankAccount {
6
+public abstract class BankAccount {
7
+
8
+    private String name;
9
+
10
+    private double amount;
11
+
12
+    public BankAccount(String name, double amount){
13
+        this.amount = amount;
14
+        this.name = name;
15
+    }
16
+
17
+    public double getAmount(){
18
+        return amount;
19
+    }
20
+
21
+    public void setAmount(double amount) {
22
+        this.amount = amount;
23
+    }
24
+
25
+    public double depositMoney(double deposit){
26
+        double balance = amount + deposit;
27
+        setAmount(balance);
28
+        return balance;
29
+    }
30
+    public abstract String accountName();
31
+
32
+
33
+
34
+
35
+    public abstract double withDraw(double amountToWithdraw);
36
+
37
+
7
 }
38
 }

+ 23
- 0
src/main/java/com/zipcodewilmington/bankaccountlab/BusinessAccount.java 查看文件

1
+package com.zipcodewilmington.bankaccountlab;
2
+
3
+public class BusinessAccount extends BankAccount{
4
+
5
+    public BusinessAccount (String name, double amount){
6
+        super(name, amount);
7
+    }
8
+
9
+    public double withDraw(double amountToWithdraw){
10
+        if (amountToWithdraw > super.getAmount() || amountToWithdraw == super.getAmount()){
11
+            System.out.println("You don't have enough money to withdraw");
12
+            return getAmount();
13
+        }
14
+        double balance = super.getAmount() - amountToWithdraw;
15
+        super.setAmount(balance);
16
+        return  balance;
17
+    }
18
+
19
+    public String accountName(){
20
+        return "business";
21
+    }
22
+
23
+}

+ 25
- 0
src/main/java/com/zipcodewilmington/bankaccountlab/CheckingAccount.java 查看文件

1
+package com.zipcodewilmington.bankaccountlab;
2
+
3
+public class CheckingAccount extends BankAccount{
4
+//    private double amount;
5
+//    private String name;
6
+
7
+    public CheckingAccount(String name, double amount){
8
+        super(name, amount);
9
+    }
10
+    @Override
11
+    public double withDraw(double amountToWithdraw){
12
+        if (amountToWithdraw > super.getAmount()){
13
+            System.out.println("You don't have enough money to withdraw");
14
+            return getAmount();
15
+        }
16
+
17
+        double balance = super.getAmount() - amountToWithdraw;
18
+        super.setAmount(balance);
19
+        return balance;
20
+    }
21
+
22
+    public String accountName(){
23
+        return "checkings";
24
+    }
25
+}

+ 7
- 0
src/main/java/com/zipcodewilmington/bankaccountlab/MainApplication.java 查看文件

4
  * Created by leon on 1/10/18.
4
  * Created by leon on 1/10/18.
5
  */
5
  */
6
 public class MainApplication {
6
 public class MainApplication {
7
+
8
+
9
+
10
+    public  static void main(String[] args){
11
+        Atm atm = new Atm();
12
+        atm.container();
13
+    }
7
 }
14
 }

+ 33
- 0
src/main/java/com/zipcodewilmington/bankaccountlab/SavingsAccount.java 查看文件

1
+package com.zipcodewilmington.bankaccountlab;
2
+
3
+public class SavingsAccount extends BankAccount{
4
+    private int count = 0;
5
+    public SavingsAccount(String name, double amount){
6
+        super(name, amount);
7
+    }
8
+
9
+    public double withDraw(double amountToWithdraw) {
10
+
11
+        if (amountToWithdraw < super.getAmount()) {
12
+            if (amountToWithdraw > 500) {
13
+                amountToWithdraw = 0;
14
+            }
15
+            count++;
16
+            if (count > 2) {
17
+                System.out.println("Exceeded transactions");
18
+                amountToWithdraw = 0;
19
+            }
20
+
21
+        }
22
+        double balance = super.getAmount() - amountToWithdraw;
23
+        super.setAmount(balance);
24
+
25
+
26
+        return balance;
27
+    }
28
+
29
+    public String accountName(){
30
+        return "savings";
31
+    }
32
+
33
+}

+ 0
- 7
src/test/java/com/zipcodewilmington/bankaccountlab/BankAccountTest.java 查看文件

1
-package com.zipcodewilmington.bankaccountlab;
2
-
3
-/**
4
- * Created by leon on 1/10/18.
5
- */
6
-public class BankAccountTest {
7
-}

+ 16
- 0
src/test/java/com/zipcodewilmington/bankaccountlab/BusinessAccountTest.java 查看文件

1
+package com.zipcodewilmington.bankaccountlab;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+public class BusinessAccountTest {
7
+
8
+    BusinessAccount account = new BusinessAccount("roy", 1200);
9
+
10
+    @Test
11
+    public void bussinessAccountWithdrawtest(){
12
+        double expected = account.withDraw(1200);
13
+        double actual = 1200;
14
+        Assert.assertEquals(expected, actual, 2);
15
+    }
16
+}

+ 27
- 0
src/test/java/com/zipcodewilmington/bankaccountlab/CheckingAccountTest.java 查看文件

1
+package com.zipcodewilmington.bankaccountlab;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+/**
7
+ * Created by leon on 1/10/18.
8
+ */
9
+
10
+public class CheckingAccountTest {
11
+
12
+    CheckingAccount account = new CheckingAccount("Roy", 100);
13
+    @Test
14
+    public void depositTest() {
15
+        double expected = account.depositMoney(200);
16
+        double actual = 300.00;
17
+        Assert.assertEquals(expected, actual, 2);
18
+    }
19
+    @Test
20
+    public  void withDrawTest(){
21
+        double expected = account.withDraw(150);
22
+        double actual = 100;
23
+        Assert.assertEquals(expected, actual, 2);
24
+    }
25
+
26
+
27
+}

+ 27
- 0
src/test/java/com/zipcodewilmington/bankaccountlab/SavingsAccountTest.java 查看文件

1
+package com.zipcodewilmington.bankaccountlab;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+
7
+public class SavingsAccountTest {
8
+
9
+    SavingsAccount account = new SavingsAccount("Roy", 800 );
10
+
11
+    @Test
12
+    public void savingDepositTest (){
13
+        double expected = account.depositMoney(800);
14
+        double actual = 1600.00;
15
+
16
+        Assert.assertEquals(expected, actual, 2);
17
+
18
+    }
19
+
20
+    @Test
21
+    public void savingsWithdrawTest(){
22
+        double expected = account.withDraw(600);
23
+        double actual = 800;
24
+        Assert.assertEquals(expected, actual, 2);
25
+    }
26
+
27
+}

+ 17
- 0
src/test/java/com/zipcodewilmington/bankaccountlab/testTest.java 查看文件

1
+package com.zipcodewilmington.bankaccountlab;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+public class testTest {
7
+
8
+    Atm atm = new Atm();
9
+
10
+  //
11
+//    public void test1(){
12
+//        double exp = atm.test();
13
+//        double act = 200;
14
+//        Assert.assertEquals(exp, act, 2);
15
+//    }
16
+
17
+}