#6 Completed CheckBook

Открыто
mpierse хочет смерджить 2 коммит(ов) из mpierse/Checkbook-OldStyle:master в master

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

@@ -2,32 +2,173 @@
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 beforePath="$PROJECT_DIR$/Checkbook/src/main/java/Checkbook.java" beforeDir="false" afterPath="$PROJECT_DIR$/Checkbook/src/main/java/Checkbook.java" afterDir="false" />
6
+      <change beforePath="$PROJECT_DIR$/Checkbook/src/main/java/GenericAccount.java" beforeDir="false" afterPath="$PROJECT_DIR$/Checkbook/src/main/java/GenericAccount.java" afterDir="false" />
7
+      <change beforePath="$PROJECT_DIR$/Checkbook/src/test/java/CheckbookTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/Checkbook/src/test/java/CheckbookTest.java" afterDir="false" />
6 8
     </list>
7 9
     <ignored path="$PROJECT_DIR$/Checkbook/target/" />
8 10
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
9
-    <option name="TRACKING_ENABLED" value="true" />
10 11
     <option name="SHOW_DIALOG" value="false" />
11 12
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
12 13
     <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
13 14
     <option name="LAST_RESOLUTION" value="IGNORE" />
14 15
   </component>
16
+  <component name="FUSProjectUsageTrigger">
17
+    <session id="-1553006135">
18
+      <usages-collector id="statistics.lifecycle.project">
19
+        <counts>
20
+          <entry key="project.open.time.1" value="1" />
21
+          <entry key="project.opened" value="1" />
22
+        </counts>
23
+      </usages-collector>
24
+      <usages-collector id="statistics.file.extensions.open">
25
+        <counts>
26
+          <entry key="class" value="1" />
27
+          <entry key="iml" value="1" />
28
+          <entry key="java" value="11" />
29
+          <entry key="md" value="1" />
30
+        </counts>
31
+      </usages-collector>
32
+      <usages-collector id="statistics.file.types.open">
33
+        <counts>
34
+          <entry key="CLASS" value="1" />
35
+          <entry key="IDEA_MODULE" value="1" />
36
+          <entry key="JAVA" value="11" />
37
+          <entry key="Markdown" value="1" />
38
+        </counts>
39
+      </usages-collector>
40
+      <usages-collector id="statistics.file.extensions.edit">
41
+        <counts>
42
+          <entry key="java" value="1943" />
43
+        </counts>
44
+      </usages-collector>
45
+      <usages-collector id="statistics.file.types.edit">
46
+        <counts>
47
+          <entry key="JAVA" value="1943" />
48
+        </counts>
49
+      </usages-collector>
50
+    </session>
51
+  </component>
15 52
   <component name="FileEditorManager">
16
-    <leaf>
17
-      <file leaf-file-name="README.md" pinned="false" current-in-tab="true">
18
-        <entry file="file://$PROJECT_DIR$/README.md">
19
-          <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
20
-            <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 />
24
-              </first_editor>
25
-              <second_editor />
26
-            </state>
27
-          </provider>
28
-        </entry>
29
-      </file>
30
-    </leaf>
53
+    <splitter split-orientation="horizontal" split-proportion="0.60658085">
54
+      <split-first>
55
+        <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
56
+          <file pinned="false" current-in-tab="false">
57
+            <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/Transaction.java">
58
+              <provider selected="true" editor-type-id="text-editor">
59
+                <state relative-caret-position="-169">
60
+                  <caret line="16" column="5" lean-forward="true" selection-start-line="16" selection-start-column="5" selection-end-line="16" selection-end-column="5" />
61
+                  <folding>
62
+                    <element signature="imports" expanded="true" />
63
+                    <element signature="e#175#184#0" expanded="true" />
64
+                    <element signature="e#259#270#0" expanded="true" />
65
+                    <element signature="e#689#690#0" expanded="true" />
66
+                    <element signature="e#720#721#0" expanded="true" />
67
+                    <element signature="e#754#755#0" expanded="true" />
68
+                    <element signature="e#787#788#0" expanded="true" />
69
+                    <element signature="e#827#828#0" expanded="true" />
70
+                    <element signature="e#855#856#0" expanded="true" />
71
+                    <element signature="e#886#887#0" expanded="true" />
72
+                    <element signature="e#913#914#0" expanded="true" />
73
+                    <element signature="e#953#954#0" expanded="true" />
74
+                    <element signature="e#985#986#0" expanded="true" />
75
+                    <element signature="e#1016#1017#0" expanded="true" />
76
+                    <element signature="e#1044#1045#0" expanded="true" />
77
+                    <element signature="e#1085#1086#0" expanded="true" />
78
+                    <element signature="e#1119#1120#0" expanded="true" />
79
+                  </folding>
80
+                </state>
81
+              </provider>
82
+            </entry>
83
+          </file>
84
+          <file pinned="false" current-in-tab="false">
85
+            <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/Checkbook.java">
86
+              <provider selected="true" editor-type-id="text-editor">
87
+                <state relative-caret-position="266">
88
+                  <caret line="93" column="50" selection-start-line="93" selection-start-column="50" selection-end-line="93" selection-end-column="50" />
89
+                  <folding>
90
+                    <element signature="imports" expanded="true" />
91
+                    <element signature="e#185#186#0" expanded="true" />
92
+                    <element signature="e#239#240#0" expanded="true" />
93
+                    <element signature="e#391#392#0" expanded="true" />
94
+                    <element signature="e#415#416#0" expanded="true" />
95
+                    <element signature="e#141#142#0" expanded="true" />
96
+                    <element signature="e#170#171#0" expanded="true" />
97
+                    <element signature="e#205#206#0" expanded="true" />
98
+                    <element signature="e#234#235#0" expanded="true" />
99
+                    <element signature="e#296#297#0" expanded="true" />
100
+                    <element signature="e#318#319#0" expanded="true" />
101
+                    <element signature="e#394#395#0" expanded="true" />
102
+                    <element signature="e#416#417#0" expanded="true" />
103
+                    <element signature="e#668#669#0" expanded="true" />
104
+                    <element signature="e#698#699#0" expanded="true" />
105
+                    <element signature="e#780#781#0" expanded="true" />
106
+                    <element signature="e#817#818#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/test/java/CheckbookTest.java">
114
+              <provider selected="true" editor-type-id="text-editor">
115
+                <state relative-caret-position="326">
116
+                  <caret line="162" column="5" lean-forward="true" selection-start-line="162" selection-start-column="5" selection-end-line="162" selection-end-column="5" />
117
+                  <folding>
118
+                    <element signature="imports" expanded="true" />
119
+                    <element signature="e#1385#1386#0" expanded="true" />
120
+                    <element signature="e#1406#1407#0" expanded="true" />
121
+                    <element signature="e#2852#2853#0" expanded="true" />
122
+                    <element signature="e#2932#2933#0" expanded="true" />
123
+                    <element signature="e#4437#4438#0" expanded="true" />
124
+                    <element signature="e#4458#4459#0" expanded="true" />
125
+                    <element signature="e#4621#4622#0" expanded="true" />
126
+                    <element signature="e#4685#4686#0" expanded="true" />
127
+                  </folding>
128
+                </state>
129
+              </provider>
130
+            </entry>
131
+          </file>
132
+          <file pinned="false" current-in-tab="false">
133
+            <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/AccountBook.java">
134
+              <provider selected="true" editor-type-id="text-editor">
135
+                <state relative-caret-position="165">
136
+                  <caret line="11" column="1" lean-forward="true" selection-start-line="11" selection-start-column="1" selection-end-line="11" selection-end-column="1" />
137
+                </state>
138
+              </provider>
139
+            </entry>
140
+          </file>
141
+          <file pinned="false" current-in-tab="true">
142
+            <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/GenericAccount.java">
143
+              <provider selected="true" editor-type-id="text-editor">
144
+                <state relative-caret-position="75">
145
+                  <caret line="5" column="52" selection-start-line="5" selection-start-column="52" selection-end-line="5" selection-end-column="52" />
146
+                  <folding>
147
+                    <element signature="e#182#183#0" expanded="true" />
148
+                  </folding>
149
+                </state>
150
+              </provider>
151
+            </entry>
152
+          </file>
153
+        </leaf>
154
+      </split-first>
155
+      <split-second>
156
+        <leaf>
157
+          <file pinned="false" current-in-tab="true">
158
+            <entry file="file://$PROJECT_DIR$/README.md">
159
+              <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
160
+                <state split_layout="SECOND">
161
+                  <first_editor>
162
+                    <caret line="39" selection-start-line="39" selection-end-line="39" />
163
+                  </first_editor>
164
+                  <second_editor />
165
+                </state>
166
+              </provider>
167
+            </entry>
168
+          </file>
169
+        </leaf>
170
+      </split-second>
171
+    </splitter>
31 172
   </component>
32 173
   <component name="FileTemplateManagerImpl">
33 174
     <option name="RECENT_TEMPLATES">
@@ -42,9 +183,6 @@
42 183
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
43 184
   </component>
44 185
   <component name="GradleLocalSettings">
45
-    <option name="externalProjectsViewState">
46
-      <projects_view />
47
-    </option>
48 186
     <option name="projectSyncType">
49 187
       <map>
50 188
         <entry key="$USER_HOME$/GitHub/gs-gradle/initial" value="PREVIEW" />
@@ -54,14 +192,14 @@
54 192
   <component name="IdeDocumentHistory">
55 193
     <option name="CHANGED_PATHS">
56 194
       <list>
57
-        <option value="$PROJECT_DIR$/Checkbook/src/test/java/CheckbookTest.java" />
58 195
         <option value="$PROJECT_DIR$/Checkbook/src/main/java/Payee.java" />
59 196
         <option value="$PROJECT_DIR$/Checkbook/src/main/java/Transaction.java" />
60 197
         <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 198
         <option value="$PROJECT_DIR$/Checkbook/src/main/java/TransactionType.java" />
64 199
         <option value="$PROJECT_DIR$/README.md" />
200
+        <option value="$PROJECT_DIR$/Checkbook/src/main/java/Checkbook.java" />
201
+        <option value="$PROJECT_DIR$/Checkbook/src/test/java/CheckbookTest.java" />
202
+        <option value="$PROJECT_DIR$/Checkbook/src/main/java/GenericAccount.java" />
65 203
       </list>
66 204
     </option>
67 205
   </component>
@@ -72,29 +210,15 @@
72 210
     <sorting>DEFINITION_ORDER</sorting>
73 211
   </component>
74 212
   <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" />
213
+    <option name="y" value="23" />
214
+    <option name="width" value="1440" />
215
+    <option name="height" value="805" />
79 216
   </component>
80 217
   <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 />
218
+    <navigator proportions="" version="1">
92 219
       <foldersAlwaysOnTop value="true" />
93 220
     </navigator>
94 221
     <panes>
95
-      <pane id="Scope" />
96
-      <pane id="Scratches" />
97
-      <pane id="AndroidView" />
98 222
       <pane id="PackagesPane" />
99 223
       <pane id="ProjectPane">
100 224
         <subPane>
@@ -129,23 +253,40 @@
129 253
               <item name="main" type="462c0819:PsiDirectoryNode" />
130 254
               <item name="java" type="462c0819:PsiDirectoryNode" />
131 255
             </path>
256
+            <path>
257
+              <item name="Checkbook-OldStyle" type="b2602c69:ProjectViewProjectNode" />
258
+              <item name="Checkbook-OldStyle" type="462c0819:PsiDirectoryNode" />
259
+              <item name="Checkbook" type="462c0819:PsiDirectoryNode" />
260
+              <item name="src" type="462c0819:PsiDirectoryNode" />
261
+              <item name="test" type="462c0819:PsiDirectoryNode" />
262
+            </path>
263
+            <path>
264
+              <item name="Checkbook-OldStyle" type="b2602c69:ProjectViewProjectNode" />
265
+              <item name="Checkbook-OldStyle" type="462c0819:PsiDirectoryNode" />
266
+              <item name="Checkbook" type="462c0819:PsiDirectoryNode" />
267
+              <item name="src" type="462c0819:PsiDirectoryNode" />
268
+              <item name="test" type="462c0819:PsiDirectoryNode" />
269
+              <item name="java" type="462c0819:PsiDirectoryNode" />
270
+            </path>
132 271
           </expand>
133 272
           <select />
134 273
         </subPane>
135 274
       </pane>
275
+      <pane id="Scope" />
136 276
     </panes>
137 277
   </component>
138 278
   <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 279
     <property name="WebServerToolWindowFactoryState" value="false" />
142 280
     <property name="aspect.path.notification.shown" value="true" />
143
-    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
281
+    <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1544299508052" />
282
+    <property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrary" value="JUnit4" />
144 283
     <property name="jdk.selected.JAVA_MODULE" value="1.8" />
284
+    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
285
+    <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
145 286
     <property name="project.structure.last.edited" value="Modules" />
146 287
     <property name="project.structure.proportion" value="0.0" />
147 288
     <property name="project.structure.side.proportion" value="0.0" />
148
-    <property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrary" value="JUnit4" />
289
+    <property name="settings.editor.selected.configurable" value="configurable.group.appearance" />
149 290
   </component>
150 291
   <component name="RecentsManager">
151 292
     <key name="CreateTestDialog.RecentsKey">
@@ -167,90 +308,111 @@
167 308
       </list>
168 309
     </option>
169 310
   </component>
170
-  <component name="RunManager">
311
+  <component name="RunManager" selected="JUnit.CheckbookTest">
171 312
     <configuration default="true" type="Applet" factoryName="Applet">
172
-      <option name="WIDTH" value="400" />
173
-      <option name="HEIGHT" value="300" />
174 313
       <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
175
-      <module />
314
+      <method v="2">
315
+        <option name="Make" enabled="true" />
316
+      </method>
176 317
     </configuration>
177 318
     <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 319
       <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 />
320
+      <method v="2">
321
+        <option name="Make" enabled="true" />
322
+      </method>
190 323
     </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" />
324
+    <configuration name="CheckbookTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
325
+      <module name="Checkbook" />
326
+      <option name="PACKAGE_NAME" value="" />
327
+      <option name="MAIN_CLASS_NAME" value="CheckbookTest" />
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.checkbookValue" 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="checkbookValue" />
338
+      <option name="TEST_OBJECT" value="method" />
202 339
       <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 />
340
+      <method v="2">
341
+        <option name="Make" enabled="true" />
342
+      </method>
210 343
     </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" />
344
+    <configuration name="CheckbookTest.constructorOneParam" 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="constructorOneParam" />
349
+      <option name="TEST_OBJECT" value="method" />
350
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
351
+      <method v="2">
352
+        <option name="Make" enabled="true" />
353
+      </method>
354
+    </configuration>
355
+    <configuration name="CheckbookTest.getAllCreditTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
356
+      <module name="Checkbook" />
357
+      <option name="PACKAGE_NAME" value="" />
358
+      <option name="MAIN_CLASS_NAME" value="CheckbookTest" />
359
+      <option name="METHOD_NAME" value="getAllCreditTest" />
360
+      <option name="TEST_OBJECT" value="method" />
361
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
362
+      <method v="2">
363
+        <option name="Make" enabled="true" />
364
+      </method>
365
+    </configuration>
366
+    <configuration name="CheckbookTest.toArrayparam2test" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
367
+      <module name="Checkbook" />
368
+      <option name="PACKAGE_NAME" value="" />
369
+      <option name="MAIN_CLASS_NAME" value="CheckbookTest" />
370
+      <option name="METHOD_NAME" value="toArrayparam2test" />
371
+      <option name="TEST_OBJECT" value="method" />
372
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
373
+      <method v="2">
374
+        <option name="Make" enabled="true" />
375
+      </method>
376
+    </configuration>
377
+    <configuration default="true" type="JUnit" factoryName="JUnit">
378
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
379
+      <method v="2">
380
+        <option name="Make" enabled="true" />
381
+      </method>
217 382
     </configuration>
218 383
     <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 384
       <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 385
       <properties />
243 386
       <listeners />
387
+      <method v="2">
388
+        <option name="Make" enabled="true" />
389
+      </method>
244 390
     </configuration>
245 391
     <configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
246 392
       <module name="" />
247 393
       <option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
248 394
       <option name="PROGRAM_PARAMETERS" />
249 395
       <predefined_log_file id="idea.log" enabled="true" />
396
+      <method v="2">
397
+        <option name="Make" enabled="true" />
398
+      </method>
250 399
     </configuration>
251
-  </component>
252
-  <component name="ShelveChangesManager" show_recycled="false">
253
-    <option name="remove_strategy" value="false" />
400
+    <list>
401
+      <item itemvalue="JUnit.CheckbookTest.toArrayparam2test" />
402
+      <item itemvalue="JUnit.CheckbookTest.constructorOneParam" />
403
+      <item itemvalue="JUnit.CheckbookTest" />
404
+      <item itemvalue="JUnit.CheckbookTest.getAllCreditTest" />
405
+      <item itemvalue="JUnit.CheckbookTest.checkbookValue" />
406
+    </list>
407
+    <recent_temporary>
408
+      <list>
409
+        <item itemvalue="JUnit.CheckbookTest" />
410
+        <item itemvalue="JUnit.CheckbookTest.checkbookValue" />
411
+        <item itemvalue="JUnit.CheckbookTest.getAllCreditTest" />
412
+        <item itemvalue="JUnit.CheckbookTest.constructorOneParam" />
413
+        <item itemvalue="JUnit.CheckbookTest.toArrayparam2test" />
414
+      </list>
415
+    </recent_temporary>
254 416
   </component>
255 417
   <component name="SvnConfiguration">
256 418
     <configuration />
@@ -263,43 +425,107 @@
263 425
       <option name="presentableId" value="Default" />
264 426
       <updated>1543958631974</updated>
265 427
       <workItem from="1543958633447" duration="3259000" />
428
+      <workItem from="1544205488920" duration="14643000" />
266 429
     </task>
267 430
     <servers />
268 431
   </component>
432
+  <component name="TestHistory">
433
+    <history-entry file="CheckbookTest_toArrayparam2test - 2018.12.08 at 13h 33m 14s.xml">
434
+      <configuration name="CheckbookTest.toArrayparam2test" configurationId="JUnit" />
435
+    </history-entry>
436
+    <history-entry file="CheckbookTest_toArrayparam2test - 2018.12.08 at 13h 34m 50s.xml">
437
+      <configuration name="CheckbookTest.toArrayparam2test" configurationId="JUnit" />
438
+    </history-entry>
439
+    <history-entry file="CheckbookTest_toArrayparam2test - 2018.12.08 at 13h 35m 11s.xml">
440
+      <configuration name="CheckbookTest.toArrayparam2test" configurationId="JUnit" />
441
+    </history-entry>
442
+    <history-entry file="CheckbookTest_constructorOneParam - 2018.12.08 at 14h 20m 37s.xml">
443
+      <configuration name="CheckbookTest.constructorOneParam" configurationId="JUnit" />
444
+    </history-entry>
445
+    <history-entry file="CheckbookTest - 2018.12.08 at 14h 23m 30s.xml">
446
+      <configuration name="CheckbookTest" configurationId="JUnit" />
447
+    </history-entry>
448
+    <history-entry file="CheckbookTest_getAllCreditTest - 2018.12.08 at 14h 24m 06s.xml">
449
+      <configuration name="CheckbookTest.getAllCreditTest" configurationId="JUnit" />
450
+    </history-entry>
451
+    <history-entry file="CheckbookTest_getAllCreditTest - 2018.12.08 at 14h 24m 48s.xml">
452
+      <configuration name="CheckbookTest.getAllCreditTest" configurationId="JUnit" />
453
+    </history-entry>
454
+    <history-entry file="CheckbookTest_checkbookValue - 2018.12.08 at 14h 24m 53s.xml">
455
+      <configuration name="CheckbookTest.checkbookValue" configurationId="JUnit" />
456
+    </history-entry>
457
+    <history-entry file="CheckbookTest_checkbookValue - 2018.12.08 at 14h 25m 31s.xml">
458
+      <configuration name="CheckbookTest.checkbookValue" configurationId="JUnit" />
459
+    </history-entry>
460
+    <history-entry file="CheckbookTest - 2018.12.08 at 14h 25m 37s.xml">
461
+      <configuration name="CheckbookTest" configurationId="JUnit" />
462
+    </history-entry>
463
+  </component>
269 464
   <component name="TimeTrackingManager">
270
-    <option name="totallyTimeSpent" value="3259000" />
465
+    <option name="totallyTimeSpent" value="17902000" />
271 466
   </component>
272 467
   <component name="ToolWindowManager">
273
-    <frame x="115" y="45" width="1538" height="962" extended-state="0" />
468
+    <frame x="0" y="23" width="1440" height="805" extended-state="0" />
274 469
     <editor active="true" />
275 470
     <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" />
471
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.2532189" />
472
+      <window_info id="Structure" order="1" weight="0.25" />
473
+      <window_info id="Image Layers" order="2" />
474
+      <window_info id="Designer" order="3" />
475
+      <window_info id="UI Designer" order="4" />
476
+      <window_info id="Capture Tool" order="5" />
477
+      <window_info id="Favorites" order="6" side_tool="true" />
478
+      <window_info anchor="bottom" id="Database Changes" show_stripe_button="false" />
479
+      <window_info anchor="bottom" id="Messages" weight="0.32959327" />
480
+      <window_info anchor="bottom" id="Message" order="0" />
481
+      <window_info anchor="bottom" id="Find" order="1" />
482
+      <window_info anchor="bottom" id="Run" order="2" visible="true" weight="0.32959327" />
483
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.3997195" />
484
+      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
485
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
486
+      <window_info anchor="bottom" id="TODO" order="6" />
487
+      <window_info anchor="bottom" id="Terminal" order="7" />
488
+      <window_info anchor="bottom" id="Event Log" order="8" side_tool="true" />
489
+      <window_info anchor="bottom" id="Version Control" order="9" />
490
+      <window_info anchor="right" id="Commander" order="0" weight="0.4" />
491
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
492
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
493
+      <window_info anchor="right" id="Palette" order="3" />
494
+      <window_info anchor="right" id="Capture Analysis" order="4" />
495
+      <window_info anchor="right" id="Theme Preview" order="5" />
496
+      <window_info anchor="right" id="Database" order="6" />
497
+      <window_info anchor="right" id="Palette&#9;" order="7" />
498
+      <window_info anchor="right" id="Maven Projects" order="8" />
302 499
     </layout>
500
+    <layout-to-restore>
501
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.2532189" />
502
+      <window_info id="Structure" order="1" weight="0.25" />
503
+      <window_info id="Image Layers" order="2" />
504
+      <window_info id="Designer" order="3" />
505
+      <window_info id="UI Designer" order="4" />
506
+      <window_info id="Capture Tool" order="5" />
507
+      <window_info id="Favorites" order="6" side_tool="true" />
508
+      <window_info anchor="bottom" id="Database Changes" order="0" show_stripe_button="false" />
509
+      <window_info anchor="bottom" id="Message" order="1" />
510
+      <window_info anchor="bottom" id="Find" order="2" />
511
+      <window_info anchor="bottom" id="Run" order="3" />
512
+      <window_info anchor="bottom" id="Debug" order="4" weight="0.4" />
513
+      <window_info anchor="bottom" id="Cvs" order="5" weight="0.25" />
514
+      <window_info anchor="bottom" id="Inspection" order="6" weight="0.4" />
515
+      <window_info anchor="bottom" id="TODO" order="7" />
516
+      <window_info anchor="bottom" id="Terminal" order="8" />
517
+      <window_info anchor="bottom" id="Event Log" order="9" side_tool="true" />
518
+      <window_info anchor="bottom" id="Version Control" order="10" />
519
+      <window_info anchor="right" id="Commander" order="0" weight="0.4" />
520
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
521
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
522
+      <window_info anchor="right" id="Palette" order="3" />
523
+      <window_info anchor="right" id="Capture Analysis" order="4" />
524
+      <window_info anchor="right" id="Theme Preview" order="5" />
525
+      <window_info anchor="right" id="Database" order="6" />
526
+      <window_info anchor="right" id="Palette&#9;" order="7" />
527
+      <window_info anchor="right" id="Maven Projects" order="8" />
528
+    </layout-to-restore>
303 529
   </component>
304 530
   <component name="TypeScriptGeneratedFilesManager">
305 531
     <option name="version" value="1" />
@@ -307,23 +533,35 @@
307 533
   <component name="VcsContentAnnotationSettings">
308 534
     <option name="myLimit" value="2678400000" />
309 535
   </component>
310
-  <component name="XDebuggerManager">
311
-    <breakpoint-manager />
312
-    <watches-manager />
313
-  </component>
314 536
   <component name="editorHistoryManager">
315
-    <entry file="file://$PROJECT_DIR$/Checkbook/src/test/java/CheckbookTest.java">
537
+    <entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/src.zip!/java/util/concurrent/atomic/AtomicReference.java" />
538
+    <entry file="file://$PROJECT_DIR$/Checkbook/pom.xml">
539
+      <provider selected="true" editor-type-id="text-editor" />
540
+    </entry>
541
+    <entry file="file://$PROJECT_DIR$/README.md">
542
+      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
543
+        <state split_layout="SECOND">
544
+          <first_editor>
545
+            <caret line="39" selection-start-line="39" selection-end-line="39" />
546
+          </first_editor>
547
+          <second_editor />
548
+        </state>
549
+      </provider>
550
+    </entry>
551
+    <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/TransactionType.java">
316 552
       <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 />
553
+        <state>
554
+          <caret lean-forward="true" />
320 555
         </state>
321 556
       </provider>
322 557
     </entry>
558
+    <entry file="file://$PROJECT_DIR$/Checkbook/Checkbook.iml">
559
+      <provider selected="true" editor-type-id="text-editor" />
560
+    </entry>
323 561
     <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/Payee.java">
324 562
       <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" />
563
+        <state relative-caret-position="315">
564
+          <caret line="21" selection-start-line="21" selection-end-line="21" />
327 565
           <folding>
328 566
             <element signature="e#151#152#0" expanded="true" />
329 567
             <element signature="e#184#185#0" expanded="true" />
@@ -341,34 +579,10 @@
341 579
         </state>
342 580
       </provider>
343 581
     </entry>
344
-    <entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/src.zip!/java/util/concurrent/atomic/AtomicReference.java">
345
-      <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 />
349
-        </state>
350
-      </provider>
351
-    </entry>
352
-    <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/GenericAccount.java">
353
-      <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 />
357
-        </state>
358
-      </provider>
359
-    </entry>
360
-    <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/TransactionType.java">
361
-      <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 />
365
-        </state>
366
-      </provider>
367
-    </entry>
368 582
     <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/Transaction.java">
369 583
       <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" />
584
+        <state relative-caret-position="-169">
585
+          <caret line="16" column="5" lean-forward="true" selection-start-line="16" selection-start-column="5" selection-end-line="16" selection-end-column="5" />
372 586
           <folding>
373 587
             <element signature="imports" expanded="true" />
374 588
             <element signature="e#175#184#0" expanded="true" />
@@ -391,38 +605,71 @@
391 605
         </state>
392 606
       </provider>
393 607
     </entry>
394
-    <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/AccountBook.java">
608
+    <entry file="jar://$MAVEN_REPOSITORY$/junit/junit/4.0/junit-4.0.jar!/org/junit/internal/runners/TestMethodRunner.class">
395 609
       <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 />
610
+        <state relative-caret-position="134">
611
+          <caret line="94" selection-start-line="94" selection-end-line="94" />
612
+        </state>
613
+      </provider>
614
+    </entry>
615
+    <entry file="file://$PROJECT_DIR$/Checkbook/src/test/java/CheckbookTest.java">
616
+      <provider selected="true" editor-type-id="text-editor">
617
+        <state relative-caret-position="326">
618
+          <caret line="162" column="5" lean-forward="true" selection-start-line="162" selection-start-column="5" selection-end-line="162" selection-end-column="5" />
619
+          <folding>
620
+            <element signature="imports" expanded="true" />
621
+            <element signature="e#1385#1386#0" expanded="true" />
622
+            <element signature="e#1406#1407#0" expanded="true" />
623
+            <element signature="e#2852#2853#0" expanded="true" />
624
+            <element signature="e#2932#2933#0" expanded="true" />
625
+            <element signature="e#4437#4438#0" expanded="true" />
626
+            <element signature="e#4458#4459#0" expanded="true" />
627
+            <element signature="e#4621#4622#0" expanded="true" />
628
+            <element signature="e#4685#4686#0" expanded="true" />
629
+          </folding>
399 630
         </state>
400 631
       </provider>
401 632
     </entry>
402 633
     <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/Checkbook.java">
403 634
       <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 />
635
+        <state relative-caret-position="266">
636
+          <caret line="93" column="50" selection-start-line="93" selection-start-column="50" selection-end-line="93" selection-end-column="50" />
637
+          <folding>
638
+            <element signature="imports" expanded="true" />
639
+            <element signature="e#185#186#0" expanded="true" />
640
+            <element signature="e#239#240#0" expanded="true" />
641
+            <element signature="e#391#392#0" expanded="true" />
642
+            <element signature="e#415#416#0" expanded="true" />
643
+            <element signature="e#141#142#0" expanded="true" />
644
+            <element signature="e#170#171#0" expanded="true" />
645
+            <element signature="e#205#206#0" expanded="true" />
646
+            <element signature="e#234#235#0" expanded="true" />
647
+            <element signature="e#296#297#0" expanded="true" />
648
+            <element signature="e#318#319#0" expanded="true" />
649
+            <element signature="e#394#395#0" expanded="true" />
650
+            <element signature="e#416#417#0" expanded="true" />
651
+            <element signature="e#668#669#0" expanded="true" />
652
+            <element signature="e#698#699#0" expanded="true" />
653
+            <element signature="e#780#781#0" expanded="true" />
654
+            <element signature="e#817#818#0" expanded="true" />
655
+          </folding>
407 656
         </state>
408 657
       </provider>
409 658
     </entry>
410
-    <entry file="file://$PROJECT_DIR$/Checkbook/pom.xml">
659
+    <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/AccountBook.java">
411 660
       <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 />
661
+        <state relative-caret-position="165">
662
+          <caret line="11" column="1" lean-forward="true" selection-start-line="11" selection-start-column="1" selection-end-line="11" selection-end-column="1" />
415 663
         </state>
416 664
       </provider>
417 665
     </entry>
418
-    <entry file="file://$PROJECT_DIR$/README.md">
419
-      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
420
-        <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 />
424
-          </first_editor>
425
-          <second_editor />
666
+    <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/GenericAccount.java">
667
+      <provider selected="true" editor-type-id="text-editor">
668
+        <state relative-caret-position="75">
669
+          <caret line="5" column="52" selection-start-line="5" selection-start-column="52" selection-end-line="5" selection-end-column="52" />
670
+          <folding>
671
+            <element signature="e#182#183#0" expanded="true" />
672
+          </folding>
426 673
         </state>
427 674
       </provider>
428 675
     </entry>

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

@@ -1,5 +1,98 @@
1
+import java.time.LocalDate;
2
+import java.util.ArrayList;
3
+import java.util.Arrays;
4
+import java.util.Iterator;
5
+
1 6
 public class Checkbook {
2 7
 
3
-    //blind us with your Java eloquence....
8
+private ArrayList<Transaction> transactionList = new ArrayList<>();
9
+
10
+    public Checkbook(){}
11
+
12
+    public Checkbook(ArrayList<Transaction> transactionList) {
13
+        this.transactionList = transactionList;
14
+    }
15
+
16
+    public Checkbook(double cashAmount){
17
+        this.add(new Transaction("",new Payee(),TransactionType.DEBIT, cashAmount));
18
+    }
19
+
20
+    public Checkbook(Payee owner, double cashAmount){
21
+        this.add(new Transaction("",owner,TransactionType.DEBIT, cashAmount));
22
+    }
23
+
24
+    public int size(){
25
+    return transactionList.size();
26
+    }
27
+
28
+    public boolean isEmpty(){
29
+    return transactionList.isEmpty();
30
+    }
31
+
32
+    public boolean contains(Transaction transaction){
33
+    return transactionList.contains(transaction);
34
+    }
35
+
36
+    public boolean add(Transaction transaction){
37
+    return transactionList.add(transaction);
38
+    }
39
+
40
+    public void remove(Transaction transaction) {
41
+        transactionList.remove(transaction);
42
+    }
43
+
44
+    public Iterator iterator() {
45
+        return transactionList.iterator();
46
+    }
47
+
48
+    public Transaction[] toArray() {
49
+        Transaction[] arr = transactionList.toArray(new Transaction[0]);
50
+        return arr;
51
+    }
52
+
53
+    public Transaction[] toArray(Transaction[] input) {
54
+        for (Transaction t : input) {
55
+            transactionList.add(t);
56
+        }
57
+        return transactionList.toArray(new Transaction[transactionList.size()]);
58
+    }
59
+
60
+    public double checkbookValue() {
61
+        double result = 0.0;
62
+        for (Transaction t: transactionList ){
63
+            result += t.getAmount();
64
+        }
65
+        return result;
66
+    }
67
+
68
+    public Transaction getTransactionsForDate(LocalDate date) {
69
+        for (Transaction t: transactionList) {
70
+            if(t.getDate()==date) return t;
71
+        }
72
+        return null;
73
+    }
74
+
75
+    public Transaction[] getTransactionsForPayee(Payee payee) {
76
+        ArrayList<Transaction> list = new ArrayList<>();
77
+        for (Transaction t: transactionList) {
78
+            if(t.getPayee()==payee) list.add(t);
79
+        }
80
+        return list.toArray(new Transaction[0]);
81
+    }
82
+
83
+    public Transaction[] getAllDebit() {
84
+        ArrayList<Transaction> list = new ArrayList<>();
85
+        for (Transaction t: transactionList) {
86
+            if(t.getType()==TransactionType.DEBIT) list.add(t);
87
+        }
88
+        return list.toArray(new Transaction[0]);
89
+    }
4 90
 
91
+    public Transaction[] getAllCredit() {
92
+        ArrayList<Transaction> list = new ArrayList<>();
93
+        for (Transaction t: transactionList) {
94
+            if(t.getType()==TransactionType.CREDIT) list.add(t);
95
+        }
96
+        return list.toArray(new Transaction[0]);
97
+    }
5 98
 }

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

@@ -1,3 +1,9 @@
1 1
 
2
-public class GenericAccount {
2
+public class GenericAccount <T extends AccountBook>{
3
+
4
+    AccountBook accountBook;
5
+
6
+    public GenericAccount(AccountBook accountBook) {
7
+        this.accountBook = accountBook;
8
+    }
3 9
 }

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

@@ -1,12 +1,164 @@
1
+import org.junit.Assert;
2
+import org.junit.Test;
3
+
4
+import java.util.ArrayList;
5
+import java.util.Iterator;
6
+
1 7
 import static org.junit.Assert.*;
2 8
 
3 9
 public class CheckbookTest {
4 10
 
11
+    Checkbook checkbook;
12
+    Checkbook checkbook2;
13
+    ArrayList<Transaction> list;
14
+    Transaction transaction = new Transaction("",new Payee(), TransactionType.DEBIT,1.50);
15
+    Transaction transaction2 =new Transaction("test", new Payee(), TransactionType.CREDIT, 50.50);
16
+    Checkbook checkbookOneParam = new Checkbook(3.00);
17
+    Checkbook checkbookTwoParam = new Checkbook(new Payee(), 5.00);
18
+
5 19
     @org.junit.Before
6 20
     public void setUp() throws Exception {
21
+        list = new ArrayList<>();
22
+        list.add(transaction);
23
+        list.add(transaction2);
24
+        checkbook = new Checkbook(list);
25
+        checkbook2 = new Checkbook();
7 26
     }
8 27
 
9 28
     @org.junit.After
10 29
     public void tearDown() throws Exception {
11 30
     }
31
+
32
+    @Test
33
+    public void add1Test(){
34
+    Transaction toAdd = new Transaction("addThis", new Payee(), TransactionType.DEBIT, 40.5);
35
+    checkbook.add(toAdd);
36
+    Assert.assertEquals(3,checkbook.size());
37
+    }
38
+
39
+    @Test
40
+    public void add2Test(){
41
+        Transaction toAdd = new Transaction("addThis", new Payee(), TransactionType.DEBIT, 40.5);
42
+        checkbook.add(toAdd);
43
+        Assert.assertTrue(checkbook.contains(toAdd));
44
+    }
45
+
46
+    @Test
47
+    public void add3Test(){
48
+        Transaction toAdd = new Transaction("addThis", new Payee(), TransactionType.DEBIT, 40.5);
49
+        checkbook2.add(toAdd);
50
+        Assert.assertFalse(checkbook2.isEmpty());
51
+    }
52
+
53
+    @Test
54
+    public void emptytest(){
55
+        Assert.assertTrue(checkbook2.isEmpty());
56
+    }
57
+
58
+    @Test
59
+    public void remove1Test(){
60
+        checkbook.remove(transaction);
61
+        Assert.assertEquals(1,checkbook.size());
62
+    }
63
+
64
+    @Test
65
+    public void remove2Test(){
66
+        checkbook.remove(transaction);
67
+        Assert.assertFalse(checkbook.contains(transaction));
68
+    }
69
+
70
+    @Test
71
+    public void remove3Test(){
72
+        checkbook2.add(new Transaction("", new Payee(), TransactionType.DEBIT,2.00));
73
+        checkbook2.remove(transaction);
74
+        Assert.assertFalse(checkbook2.contains(transaction));
75
+    }
76
+
77
+    @Test
78
+    public void iterator1Test(){
79
+        Iterator actual = checkbook.iterator();
80
+        Assert.assertEquals(list.iterator().getClass(), actual.getClass());
81
+    }
82
+
83
+    @Test
84
+    public void iterator2test(){
85
+        Iterator actual = checkbook.iterator();
86
+        Assert.assertTrue(actual.hasNext());
87
+    }
88
+
89
+    @Test
90
+    public void iterator3test(){
91
+        Iterator actual = checkbook.iterator();
92
+        Assert.assertEquals(transaction,actual.next());
93
+    }
94
+
95
+    @Test
96
+    public void toArray1test(){
97
+        Transaction[] actual = checkbook.toArray();
98
+        Assert.assertEquals(Transaction[].class, actual.getClass());
99
+    }
100
+
101
+    @Test
102
+    public void toArray2test(){
103
+        Transaction[] actual = checkbook2.toArray();
104
+        Assert.assertEquals(Transaction[].class, actual.getClass());
105
+    }
106
+
107
+    @Test
108
+    public void toArray3test(){
109
+        Assert.assertNotSame(Transaction[].class, checkbook2.getClass());
110
+    }
111
+
112
+    @Test
113
+    public void toArrayparam1test(){
114
+        Transaction[] arr = new Transaction[0];
115
+        Transaction[] actual = checkbook.toArray(arr);
116
+        Assert.assertEquals(Transaction[].class, actual.getClass());
117
+    }
118
+
119
+    @Test
120
+    public void toArrayparam2test(){
121
+        Transaction[] arr = new Transaction[]{new Transaction("", new Payee(),TransactionType.DEBIT,3.00)};
122
+        Transaction[] actual = checkbook.toArray(arr);
123
+        Assert.assertEquals(3, actual.length);
124
+    }
125
+
126
+    @Test
127
+    public void checkbookValue(){
128
+       double actual = checkbook.checkbookValue();
129
+    Assert.assertEquals(-49.0, actual);
130
+    }
131
+
132
+    @Test
133
+    public void getTransactionsForDateTest(){
134
+        Assert.assertEquals(checkbook.getTransactionsForDate(transaction.getDate()),transaction);
135
+    }
136
+
137
+    @Test
138
+    public void getTransactionForPayeeTest(){
139
+        Transaction [] arr = new Transaction[]{transaction};
140
+        Assert.assertEquals(arr, checkbook.getTransactionsForPayee(transaction.getPayee()));
141
+    }
142
+
143
+    @Test
144
+    public void getAllDebitTest(){
145
+        Transaction [] arr = new Transaction[]{transaction};
146
+        Assert.assertEquals(arr, checkbook.getAllDebit());
147
+    }
148
+
149
+    @Test
150
+    public void getAllCreditTest(){
151
+        Transaction [] arr = new Transaction[]{transaction2};
152
+        Assert.assertEquals(arr, checkbook.getAllCredit());
153
+    }
154
+
155
+    @Test
156
+    public void constructorOneParam(){
157
+        Assert.assertEquals(1, checkbookOneParam.size());
158
+    }
159
+
160
+    @Test
161
+    public void constructorTwoParam(){
162
+        Assert.assertEquals(1, checkbookTwoParam.size());
163
+    }
12 164
 }