Michelle DiMarino 5 лет назад
Родитель
Сommit
c121fe6467

+ 0
- 13
.idea/libraries/Maven__junit_junit_4_0.xml Просмотреть файл

@@ -1,13 +0,0 @@
1
-<component name="libraryTable">
2
-  <library name="Maven: junit:junit:4.0">
3
-    <CLASSES>
4
-      <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.0/junit-4.0.jar!/" />
5
-    </CLASSES>
6
-    <JAVADOC>
7
-      <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.0/junit-4.0-javadoc.jar!/" />
8
-    </JAVADOC>
9
-    <SOURCES>
10
-      <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.0/junit-4.0-sources.jar!/" />
11
-    </SOURCES>
12
-  </library>
13
-</component>

+ 13
- 0
.idea/libraries/Maven__junit_junit_4_12.xml Просмотреть файл

@@ -0,0 +1,13 @@
1
+<component name="libraryTable">
2
+  <library name="Maven: junit:junit:4.12">
3
+    <CLASSES>
4
+      <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12.jar!/" />
5
+    </CLASSES>
6
+    <JAVADOC>
7
+      <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12-javadoc.jar!/" />
8
+    </JAVADOC>
9
+    <SOURCES>
10
+      <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12-sources.jar!/" />
11
+    </SOURCES>
12
+  </library>
13
+</component>

+ 13
- 0
.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml Просмотреть файл

@@ -0,0 +1,13 @@
1
+<component name="libraryTable">
2
+  <library name="Maven: org.hamcrest:hamcrest-core:1.3">
3
+    <CLASSES>
4
+      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar!/" />
5
+    </CLASSES>
6
+    <JAVADOC>
7
+      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-javadoc.jar!/" />
8
+    </JAVADOC>
9
+    <SOURCES>
10
+      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-sources.jar!/" />
11
+    </SOURCES>
12
+  </library>
13
+</component>

+ 417
- 188
.idea/workspace.xml Просмотреть файл

@@ -2,39 +2,146 @@
2 2
 <project version="4">
3 3
   <component name="ChangeListManager">
4 4
     <list default="true" id="926ad23d-2ddc-41ae-980d-780dcc1811fa" name="Default" comment="">
5
-      <change beforePath="$PROJECT_DIR$/README.md" afterPath="$PROJECT_DIR$/README.md" />
5
+      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__junit_junit_4_12.xml" afterDir="false" />
6
+      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml" afterDir="false" />
7
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__junit_junit_4_0.xml" beforeDir="false" />
8
+      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
9
+      <change beforePath="$PROJECT_DIR$/Checkbook/Checkbook.iml" beforeDir="false" afterPath="$PROJECT_DIR$/Checkbook/Checkbook.iml" afterDir="false" />
10
+      <change beforePath="$PROJECT_DIR$/Checkbook/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/Checkbook/pom.xml" afterDir="false" />
11
+      <change beforePath="$PROJECT_DIR$/Checkbook/src/main/java/Checkbook.java" beforeDir="false" afterPath="$PROJECT_DIR$/Checkbook/src/main/java/Checkbook.java" afterDir="false" />
12
+      <change beforePath="$PROJECT_DIR$/Checkbook/src/main/java/GenericAccount.java" beforeDir="false" afterPath="$PROJECT_DIR$/Checkbook/src/main/java/GenericAccount.java" afterDir="false" />
13
+      <change beforePath="$PROJECT_DIR$/Checkbook/src/main/java/Transaction.java" beforeDir="false" afterPath="$PROJECT_DIR$/Checkbook/src/main/java/Transaction.java" afterDir="false" />
14
+      <change beforePath="$PROJECT_DIR$/Checkbook/src/test/java/CheckbookTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/Checkbook/src/test/java/CheckbookTest.java" afterDir="false" />
6 15
     </list>
7 16
     <ignored path="$PROJECT_DIR$/Checkbook/target/" />
8 17
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
9
-    <option name="TRACKING_ENABLED" value="true" />
10 18
     <option name="SHOW_DIALOG" value="false" />
11 19
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
12 20
     <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
13 21
     <option name="LAST_RESOLUTION" value="IGNORE" />
14 22
   </component>
23
+  <component name="FUSProjectUsageTrigger">
24
+    <session id="-1418599659">
25
+      <usages-collector id="statistics.lifecycle.project">
26
+        <counts>
27
+          <entry key="project.closed" value="4" />
28
+          <entry key="project.open.time.10" value="2" />
29
+          <entry key="project.open.time.11" value="1" />
30
+          <entry key="project.open.time.4" value="1" />
31
+          <entry key="project.opened" value="4" />
32
+        </counts>
33
+      </usages-collector>
34
+      <usages-collector id="statistics.file.extensions.open">
35
+        <counts>
36
+          <entry key="class" value="4" />
37
+          <entry key="java" value="24" />
38
+          <entry key="xml" value="2" />
39
+        </counts>
40
+      </usages-collector>
41
+      <usages-collector id="statistics.file.types.open">
42
+        <counts>
43
+          <entry key="CLASS" value="4" />
44
+          <entry key="JAVA" value="24" />
45
+          <entry key="XML" value="2" />
46
+        </counts>
47
+      </usages-collector>
48
+      <usages-collector id="statistics.file.extensions.edit">
49
+        <counts>
50
+          <entry key="java" value="3774" />
51
+          <entry key="xml" value="2" />
52
+        </counts>
53
+      </usages-collector>
54
+      <usages-collector id="statistics.file.types.edit">
55
+        <counts>
56
+          <entry key="JAVA" value="3774" />
57
+          <entry key="XML" value="2" />
58
+        </counts>
59
+      </usages-collector>
60
+    </session>
61
+  </component>
15 62
   <component name="FileEditorManager">
16
-    <leaf>
17
-      <file leaf-file-name="README.md" pinned="false" current-in-tab="true">
63
+    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
64
+      <file pinned="false" current-in-tab="false">
18 65
         <entry file="file://$PROJECT_DIR$/README.md">
19 66
           <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
20 67
             <state split_layout="SPLIT">
21
-              <first_editor relative-caret-position="588">
22
-                <caret line="39" column="0" lean-forward="false" selection-start-line="39" selection-start-column="0" selection-end-line="39" selection-end-column="0" />
23
-                <folding />
68
+              <first_editor relative-caret-position="537">
69
+                <caret line="39" selection-start-line="39" selection-end-line="39" />
24 70
               </first_editor>
25 71
               <second_editor />
26 72
             </state>
27 73
           </provider>
28 74
         </entry>
29 75
       </file>
76
+      <file pinned="false" current-in-tab="true">
77
+        <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/GenericAccount.java">
78
+          <provider selected="true" editor-type-id="text-editor">
79
+            <state relative-caret-position="255">
80
+              <caret line="17" column="27" lean-forward="true" selection-start-line="17" selection-start-column="27" selection-end-line="17" selection-end-column="27" />
81
+              <folding>
82
+                <element signature="imports" expanded="true" />
83
+                <element signature="e#686#687#0" expanded="true" />
84
+                <element signature="e#723#724#0" expanded="true" />
85
+                <element signature="e#754#755#0" expanded="true" />
86
+                <element signature="e#794#795#0" expanded="true" />
87
+                <element signature="e#860#861#0" expanded="true" />
88
+                <element signature="e#905#906#0" expanded="true" />
89
+                <element signature="e#1001#1002#0" expanded="true" />
90
+                <element signature="e#1047#1048#0" expanded="true" />
91
+              </folding>
92
+            </state>
93
+          </provider>
94
+        </entry>
95
+      </file>
96
+      <file pinned="false" current-in-tab="false">
97
+        <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/Checkbook.java">
98
+          <provider selected="true" editor-type-id="text-editor">
99
+            <state relative-caret-position="495">
100
+              <caret line="109" column="5" lean-forward="true" selection-start-line="9" selection-start-column="4" selection-end-line="109" selection-end-column="5" />
101
+              <folding>
102
+                <element signature="imports" expanded="true" />
103
+                <element signature="e#899#900#0" expanded="true" />
104
+                <element signature="e#944#945#0" expanded="true" />
105
+                <element signature="e#993#994#0" expanded="true" />
106
+                <element signature="e#1041#1042#0" expanded="true" />
107
+              </folding>
108
+            </state>
109
+          </provider>
110
+        </entry>
111
+      </file>
112
+      <file pinned="false" current-in-tab="false">
113
+        <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/Transaction.java">
114
+          <provider selected="true" editor-type-id="text-editor">
115
+            <state relative-caret-position="420">
116
+              <caret line="36" column="5" lean-forward="true" selection-start-line="36" selection-start-column="5" selection-end-line="36" selection-end-column="5" />
117
+              <folding>
118
+                <element signature="imports" expanded="true" />
119
+                <element signature="e#823#824#0" expanded="true" />
120
+                <element signature="e#850#851#0" expanded="true" />
121
+                <element signature="e#1011#1012#0" expanded="true" />
122
+                <element signature="e#1039#1040#0" expanded="true" />
123
+              </folding>
124
+            </state>
125
+          </provider>
126
+        </entry>
127
+      </file>
128
+      <file pinned="false" current-in-tab="false">
129
+        <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/AccountBook.java">
130
+          <provider selected="true" editor-type-id="text-editor">
131
+            <state relative-caret-position="150">
132
+              <caret line="10" column="30" lean-forward="true" selection-start-line="3" selection-start-column="4" selection-end-line="10" selection-end-column="30" />
133
+            </state>
134
+          </provider>
135
+        </entry>
136
+      </file>
30 137
     </leaf>
31 138
   </component>
32 139
   <component name="FileTemplateManagerImpl">
33 140
     <option name="RECENT_TEMPLATES">
34 141
       <list>
35 142
         <option value="JUnit4 Test Class" />
36
-        <option value="Class" />
37 143
         <option value="Interface" />
144
+        <option value="Class" />
38 145
       </list>
39 146
     </option>
40 147
   </component>
@@ -42,9 +149,6 @@
42 149
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
43 150
   </component>
44 151
   <component name="GradleLocalSettings">
45
-    <option name="externalProjectsViewState">
46
-      <projects_view />
47
-    </option>
48 152
     <option name="projectSyncType">
49 153
       <map>
50 154
         <entry key="$USER_HOME$/GitHub/gs-gradle/initial" value="PREVIEW" />
@@ -54,14 +158,16 @@
54 158
   <component name="IdeDocumentHistory">
55 159
     <option name="CHANGED_PATHS">
56 160
       <list>
57
-        <option value="$PROJECT_DIR$/Checkbook/src/test/java/CheckbookTest.java" />
58 161
         <option value="$PROJECT_DIR$/Checkbook/src/main/java/Payee.java" />
59
-        <option value="$PROJECT_DIR$/Checkbook/src/main/java/Transaction.java" />
60 162
         <option value="$PROJECT_DIR$/Checkbook/src/main/java/AccountBook.java" />
61
-        <option value="$PROJECT_DIR$/Checkbook/src/main/java/Checkbook.java" />
62
-        <option value="$PROJECT_DIR$/Checkbook/src/main/java/GenericAccount.java" />
63 163
         <option value="$PROJECT_DIR$/Checkbook/src/main/java/TransactionType.java" />
64 164
         <option value="$PROJECT_DIR$/README.md" />
165
+        <option value="$PROJECT_DIR$/Checkbook/src/test/java/TransactionTest.java" />
166
+        <option value="$PROJECT_DIR$/Checkbook/src/main/java/Transaction.java" />
167
+        <option value="$PROJECT_DIR$/Checkbook/pom.xml" />
168
+        <option value="$PROJECT_DIR$/Checkbook/src/test/java/CheckbookTest.java" />
169
+        <option value="$PROJECT_DIR$/Checkbook/src/main/java/Checkbook.java" />
170
+        <option value="$PROJECT_DIR$/Checkbook/src/main/java/GenericAccount.java" />
65 171
       </list>
66 172
     </option>
67 173
   </component>
@@ -71,30 +177,25 @@
71 177
     <detection-done>true</detection-done>
72 178
     <sorting>DEFINITION_ORDER</sorting>
73 179
   </component>
74
-  <component name="ProjectFrameBounds">
75
-    <option name="x" value="115" />
76
-    <option name="y" value="45" />
77
-    <option name="width" value="1538" />
78
-    <option name="height" value="962" />
180
+  <component name="MavenImportPreferences">
181
+    <option name="importingSettings">
182
+      <MavenImportingSettings>
183
+        <option name="importAutomatically" value="true" />
184
+      </MavenImportingSettings>
185
+    </option>
186
+  </component>
187
+  <component name="ProjectFrameBounds" extendedState="6">
188
+    <option name="x" value="2" />
189
+    <option name="y" value="66" />
190
+    <option name="width" value="1280" />
191
+    <option name="height" value="709" />
79 192
   </component>
80 193
   <component name="ProjectView">
81
-    <navigator currentView="ProjectPane" proportions="" version="1">
82
-      <flattenPackages />
83
-      <showMembers />
84
-      <showModules />
85
-      <showLibraryContents />
86
-      <hideEmptyPackages />
87
-      <abbreviatePackageNames />
88
-      <autoscrollToSource />
89
-      <autoscrollFromSource />
90
-      <sortByType />
91
-      <manualOrder />
194
+    <navigator proportions="" version="1">
92 195
       <foldersAlwaysOnTop value="true" />
93 196
     </navigator>
94 197
     <panes>
95 198
       <pane id="Scope" />
96
-      <pane id="Scratches" />
97
-      <pane id="AndroidView" />
98 199
       <pane id="PackagesPane" />
99 200
       <pane id="ProjectPane">
100 201
         <subPane>
@@ -129,6 +230,21 @@
129 230
               <item name="main" type="462c0819:PsiDirectoryNode" />
130 231
               <item name="java" type="462c0819:PsiDirectoryNode" />
131 232
             </path>
233
+            <path>
234
+              <item name="Checkbook-OldStyle" type="b2602c69:ProjectViewProjectNode" />
235
+              <item name="Checkbook-OldStyle" type="462c0819:PsiDirectoryNode" />
236
+              <item name="Checkbook" type="462c0819:PsiDirectoryNode" />
237
+              <item name="src" type="462c0819:PsiDirectoryNode" />
238
+              <item name="test" type="462c0819:PsiDirectoryNode" />
239
+            </path>
240
+            <path>
241
+              <item name="Checkbook-OldStyle" type="b2602c69:ProjectViewProjectNode" />
242
+              <item name="Checkbook-OldStyle" type="462c0819:PsiDirectoryNode" />
243
+              <item name="Checkbook" type="462c0819:PsiDirectoryNode" />
244
+              <item name="src" type="462c0819:PsiDirectoryNode" />
245
+              <item name="test" type="462c0819:PsiDirectoryNode" />
246
+              <item name="java" type="462c0819:PsiDirectoryNode" />
247
+            </path>
132 248
           </expand>
133 249
           <select />
134 250
         </subPane>
@@ -136,16 +252,17 @@
136 252
     </panes>
137 253
   </component>
138 254
   <component name="PropertiesComponent">
139
-    <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
140
-    <property name="settings.editor.selected.configurable" value="configurable.group.appearance" />
141 255
     <property name="WebServerToolWindowFactoryState" value="false" />
142 256
     <property name="aspect.path.notification.shown" value="true" />
143
-    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
257
+    <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1544230884143" />
258
+    <property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrary" value="JUnit4" />
144 259
     <property name="jdk.selected.JAVA_MODULE" value="1.8" />
260
+    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
261
+    <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
145 262
     <property name="project.structure.last.edited" value="Modules" />
146 263
     <property name="project.structure.proportion" value="0.0" />
147 264
     <property name="project.structure.side.proportion" value="0.0" />
148
-    <property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrary" value="JUnit4" />
265
+    <property name="settings.editor.selected.configurable" value="configurable.group.appearance" />
149 266
   </component>
150 267
   <component name="RecentsManager">
151 268
     <key name="CreateTestDialog.RecentsKey">
@@ -167,90 +284,113 @@
167 284
       </list>
168 285
     </option>
169 286
   </component>
170
-  <component name="RunManager">
287
+  <component name="RunManager" selected="JUnit.CheckbookTest.getValueTest2">
171 288
     <configuration default="true" type="Applet" factoryName="Applet">
172
-      <option name="WIDTH" value="400" />
173
-      <option name="HEIGHT" value="300" />
174 289
       <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
175
-      <module />
290
+      <method v="2">
291
+        <option name="Make" enabled="true" />
292
+      </method>
176 293
     </configuration>
177 294
     <configuration default="true" type="Application" factoryName="Application">
178
-      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
179
-      <option name="MAIN_CLASS_NAME" />
180
-      <option name="VM_PARAMETERS" />
181
-      <option name="PROGRAM_PARAMETERS" />
182 295
       <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
183
-      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
184
-      <option name="ALTERNATIVE_JRE_PATH" />
185
-      <option name="ENABLE_SWING_INSPECTOR" value="false" />
186
-      <option name="ENV_VARIABLES" />
187
-      <option name="PASS_PARENT_ENVS" value="true" />
188
-      <module name="" />
189
-      <envs />
296
+      <method v="2">
297
+        <option name="Make" enabled="true" />
298
+      </method>
190 299
     </configuration>
191
-    <configuration default="true" type="JUnit" factoryName="JUnit">
192
-      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
193
-      <module name="" />
194
-      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
195
-      <option name="ALTERNATIVE_JRE_PATH" />
196
-      <option name="PACKAGE_NAME" />
197
-      <option name="MAIN_CLASS_NAME" />
198
-      <option name="METHOD_NAME" />
199
-      <option name="TEST_OBJECT" value="class" />
200
-      <option name="VM_PARAMETERS" value="-ea" />
201
-      <option name="PARAMETERS" />
300
+    <configuration name="CheckbookTest.getValueTest1" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
301
+      <module name="Checkbook" />
302
+      <option name="PACKAGE_NAME" value="" />
303
+      <option name="MAIN_CLASS_NAME" value="CheckbookTest" />
304
+      <option name="METHOD_NAME" value="getValueTest1" />
305
+      <option name="TEST_OBJECT" value="method" />
306
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
307
+      <method v="2">
308
+        <option name="Make" enabled="true" />
309
+      </method>
310
+    </configuration>
311
+    <configuration name="CheckbookTest.getValueTest2" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
312
+      <module name="Checkbook" />
313
+      <option name="PACKAGE_NAME" value="" />
314
+      <option name="MAIN_CLASS_NAME" value="CheckbookTest" />
315
+      <option name="METHOD_NAME" value="getValueTest2" />
316
+      <option name="TEST_OBJECT" value="method" />
317
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
318
+      <method v="2">
319
+        <option name="Make" enabled="true" />
320
+      </method>
321
+    </configuration>
322
+    <configuration name="CheckbookTest.getValueTest3" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
323
+      <module name="Checkbook" />
324
+      <option name="PACKAGE_NAME" value="" />
325
+      <option name="MAIN_CLASS_NAME" value="CheckbookTest" />
326
+      <option name="METHOD_NAME" value="getValueTest3" />
327
+      <option name="TEST_OBJECT" value="method" />
328
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
329
+      <method v="2">
330
+        <option name="Make" enabled="true" />
331
+      </method>
332
+    </configuration>
333
+    <configuration name="CheckbookTest.removeTest1" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
334
+      <module name="Checkbook" />
335
+      <option name="PACKAGE_NAME" value="" />
336
+      <option name="MAIN_CLASS_NAME" value="CheckbookTest" />
337
+      <option name="METHOD_NAME" value="removeTest1" />
338
+      <option name="TEST_OBJECT" value="method" />
339
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
340
+      <method v="2">
341
+        <option name="Make" enabled="true" />
342
+      </method>
343
+    </configuration>
344
+    <configuration name="CheckbookTest.removeTest3" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
345
+      <module name="Checkbook" />
346
+      <option name="PACKAGE_NAME" value="" />
347
+      <option name="MAIN_CLASS_NAME" value="CheckbookTest" />
348
+      <option name="METHOD_NAME" value="removeTest3" />
349
+      <option name="TEST_OBJECT" value="method" />
202 350
       <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
203
-      <option name="ENV_VARIABLES" />
204
-      <option name="PASS_PARENT_ENVS" value="true" />
205
-      <option name="TEST_SEARCH_SCOPE">
206
-        <value defaultName="singleModule" />
207
-      </option>
208
-      <envs />
209
-      <patterns />
351
+      <method v="2">
352
+        <option name="Make" enabled="true" />
353
+      </method>
210 354
     </configuration>
211
-    <configuration default="true" type="Remote" factoryName="Remote">
212
-      <option name="USE_SOCKET_TRANSPORT" value="true" />
213
-      <option name="SERVER_MODE" value="false" />
214
-      <option name="SHMEM_ADDRESS" value="javadebug" />
215
-      <option name="HOST" value="localhost" />
216
-      <option name="PORT" value="5005" />
355
+    <configuration default="true" type="JUnit" factoryName="JUnit">
356
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
357
+      <method v="2">
358
+        <option name="Make" enabled="true" />
359
+      </method>
217 360
     </configuration>
218 361
     <configuration default="true" type="TestNG" factoryName="TestNG">
219
-      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
220
-      <module name="" />
221
-      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
222
-      <option name="ALTERNATIVE_JRE_PATH" />
223
-      <option name="SUITE_NAME" />
224
-      <option name="PACKAGE_NAME" />
225
-      <option name="MAIN_CLASS_NAME" />
226
-      <option name="METHOD_NAME" />
227
-      <option name="GROUP_NAME" />
228
-      <option name="TEST_OBJECT" value="CLASS" />
229
-      <option name="VM_PARAMETERS" value="-ea" />
230
-      <option name="PARAMETERS" />
231 362
       <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
232
-      <option name="OUTPUT_DIRECTORY" />
233
-      <option name="ANNOTATION_TYPE" />
234
-      <option name="ENV_VARIABLES" />
235
-      <option name="PASS_PARENT_ENVS" value="true" />
236
-      <option name="TEST_SEARCH_SCOPE">
237
-        <value defaultName="singleModule" />
238
-      </option>
239
-      <option name="USE_DEFAULT_REPORTERS" value="false" />
240
-      <option name="PROPERTIES_FILE" />
241
-      <envs />
242 363
       <properties />
243 364
       <listeners />
365
+      <method v="2">
366
+        <option name="Make" enabled="true" />
367
+      </method>
244 368
     </configuration>
245 369
     <configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
246 370
       <module name="" />
247 371
       <option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
248 372
       <option name="PROGRAM_PARAMETERS" />
249 373
       <predefined_log_file id="idea.log" enabled="true" />
374
+      <method v="2">
375
+        <option name="Make" enabled="true" />
376
+      </method>
250 377
     </configuration>
251
-  </component>
252
-  <component name="ShelveChangesManager" show_recycled="false">
253
-    <option name="remove_strategy" value="false" />
378
+    <list>
379
+      <item itemvalue="JUnit.CheckbookTest.getValueTest3" />
380
+      <item itemvalue="JUnit.CheckbookTest.removeTest1" />
381
+      <item itemvalue="JUnit.CheckbookTest.removeTest3" />
382
+      <item itemvalue="JUnit.CheckbookTest.getValueTest1" />
383
+      <item itemvalue="JUnit.CheckbookTest.getValueTest2" />
384
+    </list>
385
+    <recent_temporary>
386
+      <list>
387
+        <item itemvalue="JUnit.CheckbookTest.getValueTest2" />
388
+        <item itemvalue="JUnit.CheckbookTest.getValueTest3" />
389
+        <item itemvalue="JUnit.CheckbookTest.getValueTest1" />
390
+        <item itemvalue="JUnit.CheckbookTest.removeTest3" />
391
+        <item itemvalue="JUnit.CheckbookTest.removeTest1" />
392
+      </list>
393
+    </recent_temporary>
254 394
   </component>
255 395
   <component name="SvnConfiguration">
256 396
     <configuration />
@@ -263,42 +403,80 @@
263 403
       <option name="presentableId" value="Default" />
264 404
       <updated>1543958631974</updated>
265 405
       <workItem from="1543958633447" duration="3259000" />
406
+      <workItem from="1544192832251" duration="1168000" />
407
+      <workItem from="1544198746491" duration="2080000" />
408
+      <workItem from="1544206655630" duration="9025000" />
409
+      <workItem from="1544225879967" duration="4956000" />
266 410
     </task>
267 411
     <servers />
268 412
   </component>
413
+  <component name="TestHistory">
414
+    <history-entry file="CheckbookTest_removeTest2 - 2018.12.07 at 19h 28m 44s.xml">
415
+      <configuration name="CheckbookTest.removeTest2" configurationId="JUnit" />
416
+    </history-entry>
417
+    <history-entry file="CheckbookTest_removeTest1 - 2018.12.07 at 19h 29m 12s.xml">
418
+      <configuration name="CheckbookTest.removeTest1" configurationId="JUnit" />
419
+    </history-entry>
420
+    <history-entry file="CheckbookTest_removeTest3 - 2018.12.07 at 19h 29m 33s.xml">
421
+      <configuration name="CheckbookTest.removeTest3" configurationId="JUnit" />
422
+    </history-entry>
423
+    <history-entry file="CheckbookTest_getValueTest3 - 2018.12.07 at 19h 31m 48s.xml">
424
+      <configuration name="CheckbookTest.getValueTest3" configurationId="JUnit" />
425
+    </history-entry>
426
+    <history-entry file="CheckbookTest_getValueTest1 - 2018.12.07 at 19h 31m 56s.xml">
427
+      <configuration name="CheckbookTest.getValueTest1" configurationId="JUnit" />
428
+    </history-entry>
429
+    <history-entry file="CheckbookTest_getValueTest2 - 2018.12.07 at 19h 32m 02s.xml">
430
+      <configuration name="CheckbookTest.getValueTest2" configurationId="JUnit" />
431
+    </history-entry>
432
+    <history-entry file="CheckbookTest_getValueTest3 - 2018.12.07 at 19h 32m 09s.xml">
433
+      <configuration name="CheckbookTest.getValueTest3" configurationId="JUnit" />
434
+    </history-entry>
435
+    <history-entry file="CheckbookTest_getValueTest3 - 2018.12.07 at 19h 33m 47s.xml">
436
+      <configuration name="CheckbookTest.getValueTest3" configurationId="JUnit" />
437
+    </history-entry>
438
+    <history-entry file="CheckbookTest_getValueTest3 - 2018.12.07 at 19h 33m 56s.xml">
439
+      <configuration name="CheckbookTest.getValueTest3" configurationId="JUnit" />
440
+    </history-entry>
441
+    <history-entry file="CheckbookTest_getValueTest2 - 2018.12.07 at 19h 34m 04s.xml">
442
+      <configuration name="CheckbookTest.getValueTest2" configurationId="JUnit" />
443
+    </history-entry>
444
+  </component>
269 445
   <component name="TimeTrackingManager">
270
-    <option name="totallyTimeSpent" value="3259000" />
446
+    <option name="totallyTimeSpent" value="20488000" />
271 447
   </component>
272 448
   <component name="ToolWindowManager">
273
-    <frame x="115" y="45" width="1538" height="962" extended-state="0" />
449
+    <frame x="0" y="23" width="1280" height="709" extended-state="6" />
274 450
     <editor active="true" />
275 451
     <layout>
276
-      <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
277
-      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
278
-      <window_info id="Palette&#9;" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
279
-      <window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
280
-      <window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
281
-      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
282
-      <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
283
-      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
284
-      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
285
-      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
286
-      <window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
287
-      <window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
288
-      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24966353" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
289
-      <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
290
-      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
291
-      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
292
-      <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
293
-      <window_info id="Theme Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
294
-      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
295
-      <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
296
-      <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
297
-      <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
298
-      <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
299
-      <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
300
-      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
301
-      <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
452
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.2657512" />
453
+      <window_info id="Structure" order="1" weight="0.25" />
454
+      <window_info id="Image Layers" order="2" />
455
+      <window_info id="Designer" order="3" />
456
+      <window_info id="UI Designer" order="4" />
457
+      <window_info id="Capture Tool" order="5" />
458
+      <window_info id="Favorites" order="6" side_tool="true" />
459
+      <window_info anchor="bottom" id="Message" order="0" />
460
+      <window_info anchor="bottom" id="Find" order="1" />
461
+      <window_info anchor="bottom" id="Run" order="2" weight="0.32901135" />
462
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.3987034" />
463
+      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
464
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
465
+      <window_info anchor="bottom" id="TODO" order="6" />
466
+      <window_info anchor="bottom" id="Terminal" order="7" />
467
+      <window_info anchor="bottom" id="Event Log" order="8" side_tool="true" />
468
+      <window_info anchor="bottom" id="Version Control" order="9" />
469
+      <window_info anchor="bottom" id="Database Changes" order="10" show_stripe_button="false" />
470
+      <window_info anchor="bottom" id="Messages" order="11" weight="0.32901135" />
471
+      <window_info anchor="right" id="Commander" order="0" weight="0.4" />
472
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
473
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
474
+      <window_info anchor="right" id="Palette" order="3" />
475
+      <window_info anchor="right" id="Capture Analysis" order="4" />
476
+      <window_info anchor="right" id="Theme Preview" order="5" />
477
+      <window_info anchor="right" id="Database" order="6" />
478
+      <window_info anchor="right" id="Palette&#9;" order="7" />
479
+      <window_info anchor="right" id="Maven Projects" order="8" />
302 480
     </layout>
303 481
   </component>
304 482
   <component name="TypeScriptGeneratedFilesManager">
@@ -308,22 +486,23 @@
308 486
     <option name="myLimit" value="2678400000" />
309 487
   </component>
310 488
   <component name="XDebuggerManager">
311
-    <breakpoint-manager />
312
-    <watches-manager />
489
+    <breakpoint-manager>
490
+      <breakpoints>
491
+        <line-breakpoint enabled="true" type="java-line">
492
+          <url>file://$PROJECT_DIR$/Checkbook/src/main/java/Checkbook.java</url>
493
+          <line>58</line>
494
+          <properties />
495
+          <option name="timeStamp" value="7" />
496
+        </line-breakpoint>
497
+      </breakpoints>
498
+    </breakpoint-manager>
313 499
   </component>
314 500
   <component name="editorHistoryManager">
315
-    <entry file="file://$PROJECT_DIR$/Checkbook/src/test/java/CheckbookTest.java">
316
-      <provider selected="true" editor-type-id="text-editor">
317
-        <state relative-caret-position="170">
318
-          <caret line="10" column="5" lean-forward="false" selection-start-line="10" selection-start-column="5" selection-end-line="10" selection-end-column="5" />
319
-          <folding />
320
-        </state>
321
-      </provider>
322
-    </entry>
501
+    <entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/src.zip!/java/util/concurrent/atomic/AtomicReference.java" />
323 502
     <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/Payee.java">
324 503
       <provider selected="true" editor-type-id="text-editor">
325
-        <state relative-caret-position="357">
326
-          <caret line="21" column="0" lean-forward="false" selection-start-line="21" selection-start-column="0" selection-end-line="21" selection-end-column="0" />
504
+        <state relative-caret-position="315">
505
+          <caret line="21" selection-start-line="21" selection-end-line="21" />
327 506
           <folding>
328 507
             <element signature="e#151#152#0" expanded="true" />
329 508
             <element signature="e#184#185#0" expanded="true" />
@@ -341,91 +520,141 @@
341 520
         </state>
342 521
       </provider>
343 522
     </entry>
344
-    <entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/src.zip!/java/util/concurrent/atomic/AtomicReference.java">
523
+    <entry file="file://$PROJECT_DIR$/Checkbook/src/test/java/TransactionTest.java" />
524
+    <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/TransactionType.java">
345 525
       <provider selected="true" editor-type-id="text-editor">
346
-        <state relative-caret-position="134">
347
-          <caret line="47" column="3" lean-forward="true" selection-start-line="47" selection-start-column="3" selection-end-line="47" selection-end-column="3" />
348
-          <folding />
526
+        <state relative-caret-position="15">
527
+          <caret line="1" selection-start-line="1" selection-end-line="1" />
349 528
         </state>
350 529
       </provider>
351 530
     </entry>
352
-    <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/GenericAccount.java">
531
+    <entry file="jar://$MAVEN_REPOSITORY$/junit/junit/4.0/junit-4.0.jar!/org/junit/internal/runners/TestMethodRunner.class">
353 532
       <provider selected="true" editor-type-id="text-editor">
354
-        <state relative-caret-position="17">
355
-          <caret line="1" column="0" lean-forward="false" selection-start-line="1" selection-start-column="0" selection-end-line="1" selection-end-column="0" />
356
-          <folding />
533
+        <state relative-caret-position="115">
534
+          <caret line="108" selection-start-line="108" selection-end-line="108" />
357 535
         </state>
358 536
       </provider>
359 537
     </entry>
360
-    <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/TransactionType.java">
538
+    <entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/src.zip!/java/lang/Object.java">
361 539
       <provider selected="true" editor-type-id="text-editor">
362
-        <state relative-caret-position="17">
363
-          <caret line="1" column="0" lean-forward="false" selection-start-line="1" selection-start-column="0" selection-end-line="1" selection-end-column="0" />
364
-          <folding />
540
+        <state relative-caret-position="195">
541
+          <caret line="36" selection-start-line="36" selection-end-line="36" />
365 542
         </state>
366 543
       </provider>
367 544
     </entry>
368
-    <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/Transaction.java">
545
+    <entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/src.zip!/java/util/ArrayList.java">
369 546
       <provider selected="true" editor-type-id="text-editor">
370
-        <state relative-caret-position="442">
371
-          <caret line="26" column="18" lean-forward="true" selection-start-line="26" selection-start-column="0" selection-end-line="27" selection-end-column="0" />
547
+        <state relative-caret-position="108">
548
+          <caret line="853" selection-start-line="853" selection-end-line="853" />
372 549
           <folding>
373
-            <element signature="imports" expanded="true" />
374
-            <element signature="e#175#184#0" expanded="true" />
375
-            <element signature="e#259#270#0" expanded="true" />
376
-            <element signature="e#689#690#0" expanded="true" />
377
-            <element signature="e#720#721#0" expanded="true" />
378
-            <element signature="e#754#755#0" expanded="true" />
379
-            <element signature="e#787#788#0" expanded="true" />
380
-            <element signature="e#827#828#0" expanded="true" />
381
-            <element signature="e#855#856#0" expanded="true" />
382
-            <element signature="e#886#887#0" expanded="true" />
383
-            <element signature="e#913#914#0" expanded="true" />
384
-            <element signature="e#953#954#0" expanded="true" />
385
-            <element signature="e#985#986#0" expanded="true" />
386
-            <element signature="e#1016#1017#0" expanded="true" />
387
-            <element signature="e#1044#1045#0" expanded="true" />
388
-            <element signature="e#1085#1086#0" expanded="true" />
389
-            <element signature="e#1119#1120#0" expanded="true" />
550
+            <element signature="e#31007#31008#0" expanded="true" />
551
+            <element signature="e#31039#31040#0" expanded="true" />
552
+            <element signature="e#31427#31428#0" expanded="true" />
390 553
           </folding>
391 554
         </state>
392 555
       </provider>
393 556
     </entry>
394
-    <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/AccountBook.java">
557
+    <entry file="file://$PROJECT_DIR$/Checkbook/pom.xml">
395 558
       <provider selected="true" editor-type-id="text-editor">
396
-        <state relative-caret-position="204">
397
-          <caret line="12" column="0" lean-forward="true" selection-start-line="12" selection-start-column="0" selection-end-line="12" selection-end-column="0" />
398
-          <folding />
559
+        <state relative-caret-position="420">
560
+          <caret line="28" column="21" selection-start-line="28" selection-start-column="21" selection-end-line="28" selection-end-column="21" />
399 561
         </state>
400 562
       </provider>
401 563
     </entry>
402
-    <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/Checkbook.java">
564
+    <entry file="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12.jar!/org/junit/internal/runners/model/EachTestNotifier.class">
403 565
       <provider selected="true" editor-type-id="text-editor">
404
-        <state relative-caret-position="51">
405
-          <caret line="3" column="0" lean-forward="false" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" />
406
-          <folding />
566
+        <state relative-caret-position="99">
567
+          <caret line="27" selection-start-line="27" selection-end-line="27" />
407 568
         </state>
408 569
       </provider>
409 570
     </entry>
410
-    <entry file="file://$PROJECT_DIR$/Checkbook/pom.xml">
571
+    <entry file="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12.jar!/org/junit/runners/ParentRunner.class">
572
+      <provider selected="true" editor-type-id="text-editor">
573
+        <state relative-caret-position="130">
574
+          <caret line="203" selection-start-line="203" selection-end-line="203" />
575
+        </state>
576
+      </provider>
577
+    </entry>
578
+    <entry file="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12.jar!/org/junit/internal/runners/model/ReflectiveCallable.class">
579
+      <provider selected="true" editor-type-id="text-editor">
580
+        <state relative-caret-position="210">
581
+          <caret line="17" selection-start-line="17" selection-end-line="17" />
582
+        </state>
583
+      </provider>
584
+    </entry>
585
+    <entry file="file://$PROJECT_DIR$/Checkbook/src/test/java/CheckbookTest.java">
411 586
       <provider selected="true" editor-type-id="text-editor">
412
-        <state relative-caret-position="0">
413
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
414
-          <folding />
587
+        <state relative-caret-position="92">
588
+          <caret line="284" column="37" lean-forward="true" selection-start-line="284" selection-start-column="37" selection-end-line="284" selection-end-column="37" />
589
+          <folding>
590
+            <element signature="imports" expanded="true" />
591
+          </folding>
415 592
         </state>
416 593
       </provider>
417 594
     </entry>
418 595
     <entry file="file://$PROJECT_DIR$/README.md">
419 596
       <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
420 597
         <state split_layout="SPLIT">
421
-          <first_editor relative-caret-position="588">
422
-            <caret line="39" column="0" lean-forward="false" selection-start-line="39" selection-start-column="0" selection-end-line="39" selection-end-column="0" />
423
-            <folding />
598
+          <first_editor relative-caret-position="537">
599
+            <caret line="39" selection-start-line="39" selection-end-line="39" />
424 600
           </first_editor>
425 601
           <second_editor />
426 602
         </state>
427 603
       </provider>
428 604
     </entry>
605
+    <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/Checkbook.java">
606
+      <provider selected="true" editor-type-id="text-editor">
607
+        <state relative-caret-position="495">
608
+          <caret line="109" column="5" lean-forward="true" selection-start-line="9" selection-start-column="4" selection-end-line="109" selection-end-column="5" />
609
+          <folding>
610
+            <element signature="imports" expanded="true" />
611
+            <element signature="e#899#900#0" expanded="true" />
612
+            <element signature="e#944#945#0" expanded="true" />
613
+            <element signature="e#993#994#0" expanded="true" />
614
+            <element signature="e#1041#1042#0" expanded="true" />
615
+          </folding>
616
+        </state>
617
+      </provider>
618
+    </entry>
619
+    <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/Transaction.java">
620
+      <provider selected="true" editor-type-id="text-editor">
621
+        <state relative-caret-position="420">
622
+          <caret line="36" column="5" lean-forward="true" selection-start-line="36" selection-start-column="5" selection-end-line="36" selection-end-column="5" />
623
+          <folding>
624
+            <element signature="imports" expanded="true" />
625
+            <element signature="e#823#824#0" expanded="true" />
626
+            <element signature="e#850#851#0" expanded="true" />
627
+            <element signature="e#1011#1012#0" expanded="true" />
628
+            <element signature="e#1039#1040#0" expanded="true" />
629
+          </folding>
630
+        </state>
631
+      </provider>
632
+    </entry>
633
+    <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/AccountBook.java">
634
+      <provider selected="true" editor-type-id="text-editor">
635
+        <state relative-caret-position="150">
636
+          <caret line="10" column="30" lean-forward="true" selection-start-line="3" selection-start-column="4" selection-end-line="10" selection-end-column="30" />
637
+        </state>
638
+      </provider>
639
+    </entry>
640
+    <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/GenericAccount.java">
641
+      <provider selected="true" editor-type-id="text-editor">
642
+        <state relative-caret-position="255">
643
+          <caret line="17" column="27" lean-forward="true" selection-start-line="17" selection-start-column="27" selection-end-line="17" selection-end-column="27" />
644
+          <folding>
645
+            <element signature="imports" expanded="true" />
646
+            <element signature="e#686#687#0" expanded="true" />
647
+            <element signature="e#723#724#0" expanded="true" />
648
+            <element signature="e#754#755#0" expanded="true" />
649
+            <element signature="e#794#795#0" expanded="true" />
650
+            <element signature="e#860#861#0" expanded="true" />
651
+            <element signature="e#905#906#0" expanded="true" />
652
+            <element signature="e#1001#1002#0" expanded="true" />
653
+            <element signature="e#1047#1048#0" expanded="true" />
654
+          </folding>
655
+        </state>
656
+      </provider>
657
+    </entry>
429 658
   </component>
430 659
   <component name="masterDetails">
431 660
     <states>

+ 2
- 1
Checkbook/Checkbook.iml Просмотреть файл

@@ -11,6 +11,7 @@
11 11
     </content>
12 12
     <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
13 13
     <orderEntry type="sourceFolder" forTests="false" />
14
-    <orderEntry type="library" name="Maven: junit:junit:4.0" level="project" />
14
+    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
15
+    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
15 16
   </component>
16 17
 </module>

+ 3
- 1
Checkbook/pom.xml Просмотреть файл

@@ -20,10 +20,12 @@
20 20
         </plugins>
21 21
     </build>
22 22
     <dependencies>
23
+        <!-- https://mvnrepository.com/artifact/junit/junit -->
23 24
         <dependency>
24 25
             <groupId>junit</groupId>
25 26
             <artifactId>junit</artifactId>
26
-            <version>4.0</version>
27
+            <version>4.12</version>
28
+            <scope>test</scope>
27 29
         </dependency>
28 30
     </dependencies>
29 31
 

+ 109
- 2
Checkbook/src/main/java/Checkbook.java Просмотреть файл

@@ -1,5 +1,112 @@
1
-public class Checkbook {
1
+import java.time.LocalDate;
2
+import java.util.ArrayList;
3
+import java.util.Iterator;
2 4
 
3
-    //blind us with your Java eloquence....
5
+public class Checkbook{
6
+    ArrayList<Transaction> checkbook;
7
+    double cashAmount;
8
+    Payee owner;
9
+
10
+    public Checkbook(double cashAmount){
11
+        this.checkbook = new ArrayList<>();
12
+        this.cashAmount = cashAmount;
13
+    }
14
+
15
+    public Checkbook(Payee owner, double cashAmount){
16
+        this.checkbook = new ArrayList<>();
17
+        this.owner = owner;
18
+        this.cashAmount = cashAmount;
19
+
20
+    }
21
+
22
+    public double getCashAmount() {
23
+        return cashAmount;
24
+    }
25
+
26
+    public Payee getOwner() {
27
+        return owner;
28
+    }
29
+
30
+
31
+    public int size(){
32
+        return checkbook.size();
33
+    }
34
+
35
+    public boolean isEmpty(){
36
+        return checkbook.isEmpty();
37
+    }
38
+
39
+    public boolean contains(Transaction element){
40
+        return checkbook.contains(element);
41
+    }
42
+
43
+    public boolean add(Transaction element){
44
+        return checkbook.add(element);
45
+    }
46
+
47
+    public boolean remove(Transaction element){
48
+        return checkbook.remove(element);
49
+    }
50
+
51
+    public Iterator iterator(){
52
+        return checkbook.iterator();
53
+    }
54
+
55
+    public Transaction[] toArray(){return checkbook.toArray(new Transaction[checkbook.size()]);}
56
+
57
+    // sum of all Transactions (both Debits and Credits)
58
+    public double checkbookValue() {
59
+        double debitSum = 0;
60
+        double creditSum = 0;
61
+
62
+        for (Transaction t : checkbook){
63
+            if (t.getType() == TransactionType.DEBIT){
64
+                debitSum += t.getAmount();
65
+            }else{
66
+                creditSum += t.getAmount();
67
+            }
68
+        }
69
+        return cashAmount + (debitSum + creditSum);
70
+    }
71
+
72
+    public Transaction[] getTransactionsForDate(LocalDate aDate){
73
+        ArrayList<Transaction> transactions = new ArrayList<>();
74
+        for (Transaction t : checkbook) {
75
+            if (t.getDate().equals(aDate)) {
76
+                transactions.add(t);
77
+            }
78
+        }
79
+        return transactions.toArray(new Transaction[transactions.size()]);
80
+    }
81
+
82
+    public Transaction[] getAllTransactionsForPayee(Payee payee) {
83
+        ArrayList<Transaction> transactions = new ArrayList<>();
84
+        for (Transaction t : checkbook) {
85
+            if (t.getPayee().equals(payee)) {
86
+                transactions.add(t);
87
+            }
88
+        }
89
+        return transactions.toArray(new Transaction[transactions.size()]);
90
+    }
91
+
92
+    public Transaction[] getAllDebitTransactions(){
93
+        ArrayList<Transaction> transactions = new ArrayList<>();
94
+        for (Transaction t : checkbook) {
95
+            if (t.getType().equals(TransactionType.DEBIT)) {
96
+                transactions.add(t);
97
+            }
98
+        }
99
+        return transactions.toArray(new Transaction[transactions.size()]);
100
+    }
101
+
102
+    public Transaction[] getAllCreditTransactions(){
103
+        ArrayList<Transaction> transactions = new ArrayList<>();
104
+        for (Transaction t : checkbook) {
105
+            if (t.getType().equals(TransactionType.CREDIT)) {
106
+                transactions.add(t);
107
+            }
108
+        }
109
+        return transactions.toArray(new Transaction[transactions.size()]);
110
+    }
4 111
 
5 112
 }

+ 111
- 1
Checkbook/src/main/java/GenericAccount.java Просмотреть файл

@@ -1,3 +1,113 @@
1
+import java.lang.reflect.Array;
2
+import java.time.LocalDate;
3
+import java.util.*;
4
+
5
+public class GenericAccount <T extends AccountBook>{
6
+
7
+    List<T> account;
8
+    double cashAmount;
9
+    Payee owner;
10
+
11
+    public GenericAccount(double cashAmount){
12
+        this.account = new ArrayList<>();
13
+        this.cashAmount = cashAmount;
14
+    }
15
+
16
+    public GenericAccount(Payee owner, double cashAmount){
17
+        this.account = new ArrayList<>();
18
+        this.owner = owner;
19
+        this.cashAmount = cashAmount;
20
+
21
+    }
22
+
23
+    public double getCashAmount() {
24
+        return cashAmount;
25
+    }
26
+
27
+    public Payee getOwner() {
28
+        return owner;
29
+    }
30
+
31
+
32
+    public int size(){
33
+        return account.size();
34
+    }
35
+
36
+    public boolean isEmpty(){
37
+        return account.isEmpty();
38
+    }
39
+
40
+    public boolean contains(T element){
41
+        return account.contains(element);
42
+    }
43
+
44
+    public boolean add(T element){
45
+        return account.add(element);
46
+    }
47
+
48
+    public boolean remove(T element){
49
+        return account.remove(element);
50
+    }
51
+
52
+    public Iterator iterator(){
53
+        return account.iterator();
54
+    }
55
+
56
+    public T[] toArray(){return (T[])(Array.newInstance(account.getClass(), account.size()));}
57
+
58
+    // sum of all Transactions (both Debits and Credits)
59
+    public double checkbookValue() {
60
+        double debitSum = 0;
61
+        double creditSum = 0;
62
+
63
+        for (T t : account){
64
+            if (t.getType() == TransactionType.DEBIT){
65
+                debitSum += t.getAmount();
66
+            }else{
67
+                creditSum += t.getAmount();
68
+            }
69
+        }
70
+        return cashAmount + (debitSum + creditSum);
71
+    }
72
+
73
+    public Transaction[] getTransactionsForDate(LocalDate aDate){
74
+        ArrayList<T> transactions = new ArrayList<>();
75
+        for (T t : account) {
76
+            if (t.getDate().equals(aDate)) {
77
+                transactions.add(t);
78
+            }
79
+        }
80
+        return transactions.toArray(new Transaction[transactions.size()]);
81
+    }
82
+
83
+    public Transaction[] getAllTransactionsForPayee(Payee payee) {
84
+        ArrayList<T> transactions = new ArrayList<>();
85
+        for (T t : account) {
86
+            if (t.getPayee().equals(payee)) {
87
+                transactions.add(t);
88
+            }
89
+        }
90
+        return transactions.toArray(new Transaction[transactions.size()]);
91
+    }
92
+
93
+    public Transaction[] getAllDebitTransactions(){
94
+        ArrayList<T> transactions = new ArrayList<>();
95
+        for (T t : account) {
96
+            if (t.getType().equals(TransactionType.DEBIT)) {
97
+                transactions.add(t);
98
+            }
99
+        }
100
+        return transactions.toArray(new Transaction[transactions.size()]);
101
+    }
102
+
103
+    public Transaction[] getAllCreditTransactions(){
104
+        ArrayList<T> transactions = new ArrayList<>();
105
+        for (T t : account) {
106
+            if (t.getType().equals(TransactionType.CREDIT)) {
107
+                transactions.add(t);
108
+            }
109
+        }
110
+        return transactions.toArray(new Transaction[transactions.size()]);
111
+    }
1 112
 
2
-public class GenericAccount {
3 113
 }

+ 7
- 5
Checkbook/src/main/java/Transaction.java Просмотреть файл

@@ -6,11 +6,11 @@ public class Transaction {
6 6
     private final AtomicReference<LocalDate> date = new AtomicReference<LocalDate>();
7 7
     private String memo;
8 8
     private Payee payee;
9
-    private TransactionType typee; // Credit (reduces the checkbook), Debit (increases the checkbook)
9
+    private TransactionType type; // Credit (reduces the checkbook), Debit (increases the checkbook)
10 10
     private Double amount;
11 11
 
12
-    public Transaction(String memo, Payee payee, TransactionType typee, Double amount) {
13
-        this.typee = typee;
12
+    public Transaction(String memo, Payee payee, TransactionType type, Double amount) {
13
+        this.type = type;
14 14
         this.memo = memo;
15 15
         this.payee = payee;
16 16
         this.amount = amount;
@@ -25,7 +25,7 @@ public class Transaction {
25 25
     }
26 26
 
27 27
     public TransactionType getType() {
28
-        return typee;
28
+        return type;
29 29
     }
30 30
 
31 31
     public String getMemo() {
@@ -45,9 +45,11 @@ public class Transaction {
45 45
     }
46 46
 
47 47
     public Double getAmount() {
48
-        if (this.typee == TransactionType.DEBIT) {
48
+        if (this.type == TransactionType.DEBIT) {
49 49
             return amount;
50 50
         }
51 51
         return (-1.0 * amount);
52 52
     }
53
+
54
+
53 55
 }

+ 421
- 3
Checkbook/src/test/java/CheckbookTest.java Просмотреть файл

@@ -1,12 +1,430 @@
1
-import static org.junit.Assert.*;
1
+import org.junit.Assert;
2
+import org.junit.Test;
2 3
 
3 4
 public class CheckbookTest {
5
+    Payee michelle = new Payee();
6
+    Payee joe = new Payee();
7
+    Payee rachel = new Payee();
8
+    Transaction tb1;
9
+    Transaction tb2;
10
+    Transaction tb3;
11
+    Transaction tb4;
4 12
 
5 13
     @org.junit.Before
6 14
     public void setUp() throws Exception {
15
+        michelle = new Payee();
16
+
17
+        tb1 = new Transaction("tb1", michelle, TransactionType.CREDIT, 1.00);
18
+        tb2 = new Transaction("tb2", joe, TransactionType.CREDIT, 1.00);
19
+        tb3 = new Transaction("tb3", rachel, TransactionType.DEBIT, 1.00);
20
+        tb4 = new Transaction("tb4", michelle, TransactionType.DEBIT, 1.00);
21
+    }
22
+
23
+    @Test
24
+    public void sizeTest1(){
25
+        Checkbook cb = new Checkbook(45.00);
26
+        cb.add(tb1);
27
+        cb.add(tb2);
28
+        int expectedSize = 2;
29
+
30
+        int actualSize = cb.size();
31
+
32
+        Assert.assertEquals(expectedSize, actualSize);
33
+    }
34
+
35
+    @Test
36
+    public void sizeTest2(){
37
+        Checkbook cb = new Checkbook(45.00);
38
+        cb.add(tb1);
39
+        int expectedSize = 1;
40
+
41
+        int actualSize = cb.size();
42
+
43
+        Assert.assertEquals(expectedSize, actualSize);
44
+    }
45
+
46
+    @Test
47
+    public void sizeTest3(){
48
+        Checkbook cb = new Checkbook(45.00);
49
+        cb.add(tb1);
50
+        cb.add(tb2);
51
+        cb.add(tb1);
52
+        int expectedSize = 3;
53
+
54
+        int actualSize = cb.size();
55
+
56
+        Assert.assertEquals(expectedSize, actualSize);
57
+    }
58
+
59
+    @Test
60
+    public void isEmptyTestTrue(){
61
+        Checkbook cb = new Checkbook(30.00);
62
+
63
+        boolean actualOutput = cb.isEmpty();
64
+
65
+        Assert.assertTrue(actualOutput);
66
+    }
67
+
68
+    @Test
69
+    public void isEmptyTestFalse(){
70
+        Checkbook cb = new Checkbook(45.00);
71
+        cb.add(tb1);
72
+        cb.add(tb2);
73
+        cb.add(tb1);
74
+
75
+        boolean actualOutput = cb.isEmpty();
76
+
77
+        Assert.assertFalse(actualOutput);
78
+    }
79
+
80
+    @Test
81
+    public void isEmptyTestFalse2(){
82
+        Checkbook cb = new Checkbook(45.00);
83
+        cb.add(tb1);
84
+
85
+        boolean actualOutput = cb.isEmpty();
86
+
87
+        Assert.assertFalse(actualOutput);
88
+    }
89
+
90
+    @Test
91
+    public void containsTestTrue(){
92
+        Checkbook cb = new Checkbook(45.00);
93
+        cb.add(tb1);
94
+        cb.add(tb2);
95
+
96
+        boolean actualOutput = cb.contains(tb1);
97
+
98
+        Assert.assertTrue(actualOutput);
99
+
100
+    }
101
+
102
+    @Test
103
+    public void containsTestFalse(){
104
+        Checkbook cb = new Checkbook(45.00);
105
+        cb.add(tb1);
106
+        cb.add(tb2);
107
+
108
+        boolean actualOutput = cb.contains(tb3);
109
+
110
+        Assert.assertFalse(actualOutput);
111
+
112
+    }
113
+
114
+    @Test
115
+    public void containsTestTrue2(){
116
+        Checkbook cb = new Checkbook(45.00);
117
+        cb.add(tb1);
118
+        cb.add(tb2);
119
+
120
+        boolean actualOutput = cb.contains(tb2);
121
+
122
+        Assert.assertTrue(actualOutput);
123
+
124
+    }
125
+
126
+    @Test
127
+    public void addTest1(){
128
+        Checkbook cb = new Checkbook(45.00);
129
+        cb.add(tb2);
130
+        int expected = 1;
131
+
132
+        int actual = cb.size();
133
+
134
+        Assert.assertEquals(expected, actual);
135
+
136
+    }
137
+
138
+    @Test
139
+    public void addTest2(){
140
+        Checkbook cb = new Checkbook(45.00);
141
+        cb.add(tb2);
142
+        cb.add(tb3);
143
+        int expected = 2;
144
+
145
+        int actual = cb.size();
146
+
147
+        Assert.assertEquals(expected, actual);
148
+
149
+    }
150
+
151
+    @Test
152
+    public void addTest3(){
153
+        Checkbook cb = new Checkbook(45.00);
154
+        cb.add(tb2);
155
+        cb.add(tb1);
156
+        int expected = 2;
157
+
158
+        int actual = cb.size();
159
+
160
+        Assert.assertEquals(expected, actual);
161
+
162
+    }
163
+
164
+    @Test
165
+    public void removeTest1(){
166
+        Checkbook cb = new Checkbook(45.00);
167
+        cb.add(tb1);
168
+        cb.remove(tb1);
169
+        int expected = 0;
170
+
171
+        int actual = cb.size();
172
+
173
+        Assert.assertEquals(expected, actual);
174
+    }
175
+
176
+    @Test
177
+    public void removeTest2(){
178
+        Checkbook cb = new Checkbook(45.00);
179
+        cb.add(tb2);
180
+        cb.add(tb1);
181
+        cb.remove(tb1);
182
+        int expected = 1;
183
+
184
+        int actual = cb.size();
185
+
186
+        Assert.assertEquals(expected, actual);
187
+    }
188
+
189
+    @Test
190
+    public void removeTest3(){
191
+        Checkbook cb = new Checkbook(45.00);
192
+        cb.add(tb2);
193
+        cb.add(tb1);
194
+        cb.remove(tb2);
195
+        int expected = 1;
196
+
197
+        int actual = cb.size();
198
+
199
+        Assert.assertEquals(expected, actual);
200
+
201
+    }
202
+
203
+    @Test
204
+    public void interatorTests1(){
205
+        Checkbook cb = new Checkbook(45.00);
206
+
207
+        boolean actualOutput = cb.iterator().hasNext();
208
+
209
+        Assert.assertFalse(actualOutput);
210
+    }
211
+
212
+    @Test
213
+    public void interatorTests2(){
214
+        Checkbook cb = new Checkbook(45.00);
215
+        cb.add(tb2);
216
+
217
+        boolean actualOutput = cb.iterator().hasNext();
218
+
219
+        Assert.assertTrue(actualOutput);
7 220
     }
8 221
 
9
-    @org.junit.After
10
-    public void tearDown() throws Exception {
222
+    @Test
223
+    public void interatorTests3(){
224
+        Checkbook cb = new Checkbook(45.00);
225
+        cb.add(tb2);
226
+        cb.add(tb1);
227
+
228
+        boolean actualOutput = cb.iterator().hasNext();
229
+
230
+        Assert.assertTrue(actualOutput);
231
+    }
232
+
233
+    @Test
234
+    public void toArrayTest1(){
235
+        Checkbook cb = new Checkbook(45.00);
236
+        cb.add(tb2);
237
+        cb.add(tb1);
238
+
239
+        int expectedLength = 2;
240
+        int actualLength = cb.toArray().length;
241
+
242
+        Assert.assertEquals(expectedLength, actualLength);
243
+    }
244
+
245
+    @Test
246
+    public void toArrayTest2(){
247
+        Checkbook cb = new Checkbook(45.00);
248
+        cb.add(tb2);
249
+        cb.add(tb1);
250
+        cb.add(tb3);
251
+
252
+        int expectedLength = 3;
253
+        int actualLength = cb.toArray().length;
254
+
255
+        Assert.assertEquals(expectedLength, actualLength);
256
+    }
257
+
258
+    @Test
259
+    public void toArrayTest3(){
260
+        Checkbook cb = new Checkbook(45.00);
261
+        cb.add(tb2);
262
+
263
+        int expectedLength = 1;
264
+        int actualLength = cb.toArray().length;
265
+
266
+        Assert.assertEquals(expectedLength, actualLength);
267
+    }
268
+
269
+    @Test
270
+    public void getValueTest1(){
271
+        Checkbook cb = new Checkbook(45.00);
272
+
273
+        double expectedValue = 45.00;
274
+        double actualValue = cb.checkbookValue();
275
+
276
+        Assert.assertEquals(expectedValue, actualValue, .002);
277
+
278
+    }
279
+
280
+    @Test
281
+    public void getValueTest2(){
282
+        Checkbook cb = new Checkbook(45.00);
283
+        cb.add(tb3);
284
+
285
+        double expectedValue = 46.00;
286
+        double actualValue = cb.checkbookValue();
287
+
288
+        Assert.assertEquals(expectedValue, actualValue, .002);
289
+
290
+    }
291
+
292
+    @Test
293
+    public void getValueTest3(){
294
+        Checkbook cb = new Checkbook(45.00);
295
+        cb.add(tb2);
296
+
297
+        double expectedValue = 44.00;
298
+        double actualValue = cb.checkbookValue();
299
+
300
+        Assert.assertEquals(expectedValue, actualValue, .002);
301
+
302
+    }
303
+
304
+    @Test
305
+    public void getAllTransactionsForPayeeTest1(){
306
+        Checkbook cb = new Checkbook(30.00);
307
+        cb.add(tb3);
308
+        cb.add(tb4);
309
+        cb.add(tb1);
310
+
311
+        Transaction[] expected = {tb3};
312
+        Transaction[] actual = cb.getAllTransactionsForPayee(rachel);
313
+
314
+        Assert.assertArrayEquals(expected, actual);
315
+    }
316
+
317
+    @Test
318
+    public void getAllTransactionsForPayeeTest2(){
319
+        Checkbook cb = new Checkbook(30.00);
320
+        cb.add(tb3);
321
+        cb.add(tb4);
322
+        cb.add(tb1);
323
+
324
+        Transaction[] expected = {tb4, tb1};
325
+        Transaction[] actual = cb.getAllTransactionsForPayee(michelle);
326
+
327
+        Assert.assertArrayEquals(expected, actual);
328
+
11 329
     }
330
+
331
+    @Test
332
+    public void getAllTransactionsForPayeeTest3(){
333
+        Checkbook cb = new Checkbook(30.00);
334
+        cb.add(tb3);
335
+        cb.add(tb4);
336
+        cb.add(tb2);
337
+
338
+        Transaction[] expected = {tb2};
339
+        Transaction[] actual = cb.getAllTransactionsForPayee(joe);
340
+
341
+        Assert.assertArrayEquals(expected, actual);
342
+
343
+    }
344
+
345
+    @Test
346
+    public void getAllDebitTest1(){
347
+        Checkbook cb = new Checkbook(30.00);
348
+        cb.add(tb3);
349
+        cb.add(tb4);
350
+        cb.add(tb1);
351
+
352
+        Transaction[] expected = {tb3, tb4};
353
+        Transaction[] actual = cb.getAllDebitTransactions();
354
+
355
+        Assert.assertArrayEquals(expected, actual);
356
+    }
357
+
358
+    @Test
359
+    public void getAllDebitTest2(){
360
+        Checkbook cb = new Checkbook(30.00);
361
+        cb.add(tb3);
362
+        cb.add(tb1);
363
+
364
+        Transaction[] expected = {tb3};
365
+        Transaction[] actual = cb.getAllDebitTransactions();
366
+
367
+        Assert.assertArrayEquals(expected, actual);
368
+
369
+    }
370
+
371
+    @Test
372
+    public void getAllDebitTest3(){
373
+        Checkbook cb = new Checkbook(30.00);
374
+        cb.add(tb3);
375
+        cb.add(tb3);
376
+        cb.add(tb1);
377
+
378
+        Transaction[] expected = {tb3, tb3};
379
+        Transaction[] actual = cb.getAllDebitTransactions();
380
+
381
+        Assert.assertArrayEquals(expected, actual);
382
+    }
383
+
384
+    @Test
385
+    public void getAllCreditTest1(){
386
+        Checkbook cb = new Checkbook(30.00);
387
+        cb.add(tb3);
388
+        cb.add(tb3);
389
+        cb.add(tb1);
390
+
391
+        Transaction[] expected = {tb1};
392
+        Transaction[] actual = cb.getAllCreditTransactions();
393
+
394
+        Assert.assertArrayEquals(expected, actual);
395
+    }
396
+
397
+
398
+    @Test
399
+    public void getAllCreditTest2(){
400
+        Checkbook cb = new Checkbook(30.00);
401
+        cb.add(tb3);
402
+        cb.add(tb2);
403
+        cb.add(tb1);
404
+
405
+        Transaction[] expected = {tb2, tb1};
406
+        Transaction[] actual = cb.getAllCreditTransactions();
407
+
408
+        Assert.assertArrayEquals(expected, actual);
409
+
410
+    }
411
+
412
+    @Test
413
+    public void getAllCreditTest3(){
414
+        Checkbook cb = new Checkbook(30.00);
415
+        cb.add(tb3);
416
+        cb.add(tb2);
417
+        cb.add(tb2);
418
+
419
+        Transaction[] expected = {tb2, tb2};
420
+        Transaction[] actual = cb.getAllCreditTransactions();
421
+
422
+        Assert.assertArrayEquals(expected, actual);
423
+
424
+
425
+    }
426
+
427
+
428
+
429
+
12 430
 }