#13 completed except remove and containsall

Aperto
yesoda vorrebbe unire 1 commit da yesoda/Checkbook-OldStyle:master a master

+ 447
- 188
.idea/workspace.xml Vedi File

@@ -2,31 +2,184 @@
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$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
6
+      <change beforePath="$PROJECT_DIR$/Checkbook/src/main/java/AccountBook.java" beforeDir="false" afterPath="$PROJECT_DIR$/Checkbook/src/main/java/AccountBook.java" afterDir="false" />
7
+      <change beforePath="$PROJECT_DIR$/Checkbook/src/main/java/Checkbook.java" beforeDir="false" afterPath="$PROJECT_DIR$/Checkbook/src/main/java/Checkbook.java" afterDir="false" />
8
+      <change beforePath="$PROJECT_DIR$/Checkbook/src/main/java/GenericAccount.java" beforeDir="false" afterPath="$PROJECT_DIR$/Checkbook/src/main/java/GenericAccount.java" afterDir="false" />
9
+      <change beforePath="$PROJECT_DIR$/Checkbook/src/main/java/Payee.java" beforeDir="false" afterPath="$PROJECT_DIR$/Checkbook/src/main/java/Payee.java" afterDir="false" />
10
+      <change beforePath="$PROJECT_DIR$/Checkbook/src/main/java/Transaction.java" beforeDir="false" afterPath="$PROJECT_DIR$/Checkbook/src/main/java/Transaction.java" afterDir="false" />
11
+      <change beforePath="$PROJECT_DIR$/Checkbook/src/test/java/CheckbookTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/Checkbook/src/test/java/CheckbookTest.java" afterDir="false" />
6 12
     </list>
7 13
     <ignored path="$PROJECT_DIR$/Checkbook/target/" />
8 14
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
9
-    <option name="TRACKING_ENABLED" value="true" />
10 15
     <option name="SHOW_DIALOG" value="false" />
11 16
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
12 17
     <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
13 18
     <option name="LAST_RESOLUTION" value="IGNORE" />
14 19
   </component>
20
+  <component name="FUSProjectUsageTrigger">
21
+    <session id="1840121025">
22
+      <usages-collector id="statistics.lifecycle.project">
23
+        <counts>
24
+          <entry key="project.open.time.3" value="1" />
25
+          <entry key="project.opened" value="1" />
26
+        </counts>
27
+      </usages-collector>
28
+      <usages-collector id="statistics.file.types.open">
29
+        <counts>
30
+          <entry key="IDEA_MODULE" value="1" />
31
+          <entry key="JAVA" value="8" />
32
+        </counts>
33
+      </usages-collector>
34
+      <usages-collector id="statistics.file.types.edit">
35
+        <counts>
36
+          <entry key="JAVA" value="5400" />
37
+        </counts>
38
+      </usages-collector>
39
+    </session>
40
+  </component>
15 41
   <component name="FileEditorManager">
16
-    <leaf>
17
-      <file leaf-file-name="README.md" pinned="false" current-in-tab="true">
42
+    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
43
+      <file pinned="false" current-in-tab="false">
18 44
         <entry file="file://$PROJECT_DIR$/README.md">
19 45
           <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 />
46
+            <state split_layout="FIRST">
47
+              <first_editor relative-caret-position="176">
48
+                <caret line="42" column="41" lean-forward="true" selection-start-line="42" selection-start-column="2" selection-end-line="42" selection-end-column="41" />
24 49
               </first_editor>
25 50
               <second_editor />
26 51
             </state>
27 52
           </provider>
28 53
         </entry>
29 54
       </file>
55
+      <file pinned="false" current-in-tab="false">
56
+        <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/Checkbook.java">
57
+          <provider selected="true" editor-type-id="text-editor">
58
+            <state relative-caret-position="147">
59
+              <caret line="175" column="42" selection-start-line="175" selection-start-column="42" selection-end-line="175" selection-end-column="42" />
60
+              <folding>
61
+                <element signature="imports" expanded="true" />
62
+                <element signature="e#444#445#0" expanded="true" />
63
+                <element signature="e#488#489#0" expanded="true" />
64
+                <element signature="e#634#635#0" expanded="true" />
65
+                <element signature="e#668#669#0" expanded="true" />
66
+                <element signature="e#2223#2224#0" expanded="true" />
67
+                <element signature="e#2257#2258#0" expanded="true" />
68
+                <element signature="e#2183#2184#0" expanded="true" />
69
+                <element signature="e#2221#2222#0" expanded="true" />
70
+                <element signature="e#4699#4700#0" expanded="true" />
71
+                <element signature="e#4747#4748#0" expanded="true" />
72
+                <element signature="e#4688#4689#0" expanded="true" />
73
+                <element signature="e#4729#4730#0" expanded="true" />
74
+                <element signature="e#4789#4790#0" expanded="true" />
75
+                <element signature="e#4833#4834#0" expanded="true" />
76
+              </folding>
77
+            </state>
78
+          </provider>
79
+        </entry>
80
+      </file>
81
+      <file pinned="false" current-in-tab="false">
82
+        <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/AccountBook.java">
83
+          <provider selected="true" editor-type-id="text-editor">
84
+            <state relative-caret-position="30">
85
+              <caret line="2" column="31" selection-start-line="2" selection-start-column="30" selection-end-line="2" selection-end-column="31" />
86
+            </state>
87
+          </provider>
88
+        </entry>
89
+      </file>
90
+      <file pinned="false" current-in-tab="false">
91
+        <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/GenericAccount.java">
92
+          <provider selected="true" editor-type-id="text-editor">
93
+            <state relative-caret-position="15">
94
+              <caret line="1" column="7" selection-start-line="1" selection-start-column="7" selection-end-line="1" selection-end-column="7" />
95
+            </state>
96
+          </provider>
97
+        </entry>
98
+      </file>
99
+      <file pinned="false" current-in-tab="false">
100
+        <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/Payee.java">
101
+          <provider selected="true" editor-type-id="text-editor">
102
+            <state relative-caret-position="180">
103
+              <caret line="12" column="20" selection-start-line="12" selection-start-column="20" selection-end-line="12" selection-end-column="20" />
104
+              <folding>
105
+                <element signature="e#151#152#0" expanded="true" />
106
+                <element signature="e#184#185#0" expanded="true" />
107
+                <element signature="e#236#237#0" expanded="true" />
108
+                <element signature="e#280#281#0" expanded="true" />
109
+                <element signature="e#316#317#0" expanded="true" />
110
+                <element signature="e#348#349#0" expanded="true" />
111
+                <element signature="e#398#399#0" expanded="true" />
112
+                <element signature="e#440#441#0" expanded="true" />
113
+                <element signature="e#479#480#0" expanded="true" />
114
+                <element signature="e#514#515#0" expanded="true" />
115
+                <element signature="e#570#571#0" expanded="true" />
116
+                <element signature="e#618#619#0" expanded="true" />
117
+              </folding>
118
+            </state>
119
+          </provider>
120
+        </entry>
121
+      </file>
122
+      <file pinned="false" current-in-tab="false">
123
+        <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/Transaction.java">
124
+          <provider selected="true" editor-type-id="text-editor">
125
+            <state relative-caret-position="129">
126
+              <caret line="27" column="10" selection-start-line="27" selection-start-column="10" selection-end-line="27" selection-end-column="10" />
127
+              <folding>
128
+                <element signature="imports" expanded="true" />
129
+                <element signature="e#175#184#0" expanded="true" />
130
+                <element signature="e#259#270#0" expanded="true" />
131
+                <element signature="e#689#690#0" expanded="true" />
132
+                <element signature="e#720#721#0" expanded="true" />
133
+                <element signature="e#827#828#0" expanded="true" />
134
+                <element signature="e#855#856#0" expanded="true" />
135
+                <element signature="e#886#887#0" expanded="true" />
136
+                <element signature="e#913#914#0" expanded="true" />
137
+                <element signature="e#953#954#0" expanded="true" />
138
+                <element signature="e#985#986#0" expanded="true" />
139
+                <element signature="e#1016#1017#0" expanded="true" />
140
+                <element signature="e#1044#1045#0" expanded="true" />
141
+                <element signature="e#1085#1086#0" expanded="true" />
142
+                <element signature="e#1119#1120#0" expanded="true" />
143
+              </folding>
144
+            </state>
145
+          </provider>
146
+        </entry>
147
+      </file>
148
+      <file pinned="false" current-in-tab="false">
149
+        <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/TransactionType.java">
150
+          <provider selected="true" editor-type-id="text-editor">
151
+            <state relative-caret-position="15">
152
+              <caret line="1" selection-start-line="1" selection-end-line="1" />
153
+            </state>
154
+          </provider>
155
+        </entry>
156
+      </file>
157
+      <file pinned="false" current-in-tab="true">
158
+        <entry file="file://$PROJECT_DIR$/Checkbook/src/test/java/CheckbookTest.java">
159
+          <provider selected="true" editor-type-id="text-editor">
160
+            <state relative-caret-position="252">
161
+              <caret line="146" column="48" selection-start-line="146" selection-start-column="48" selection-end-line="146" selection-end-column="48" />
162
+              <folding>
163
+                <element signature="imports" expanded="true" />
164
+              </folding>
165
+            </state>
166
+          </provider>
167
+        </entry>
168
+      </file>
169
+      <file pinned="false" current-in-tab="false">
170
+        <entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/src.zip!/java/util/ArrayList.java">
171
+          <provider selected="true" editor-type-id="text-editor">
172
+            <state relative-caret-position="126">
173
+              <caret line="908" selection-start-line="908" selection-end-line="908" />
174
+            </state>
175
+          </provider>
176
+        </entry>
177
+      </file>
178
+      <file pinned="false" current-in-tab="false">
179
+        <entry file="file://$PROJECT_DIR$/Checkbook/Checkbook.iml">
180
+          <provider selected="true" editor-type-id="text-editor" />
181
+        </entry>
182
+      </file>
30 183
     </leaf>
31 184
   </component>
32 185
   <component name="FileTemplateManagerImpl">
@@ -42,9 +195,6 @@
42 195
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
43 196
   </component>
44 197
   <component name="GradleLocalSettings">
45
-    <option name="externalProjectsViewState">
46
-      <projects_view />
47
-    </option>
48 198
     <option name="projectSyncType">
49 199
       <map>
50 200
         <entry key="$USER_HOME$/GitHub/gs-gradle/initial" value="PREVIEW" />
@@ -54,14 +204,14 @@
54 204
   <component name="IdeDocumentHistory">
55 205
     <option name="CHANGED_PATHS">
56 206
       <list>
57
-        <option value="$PROJECT_DIR$/Checkbook/src/test/java/CheckbookTest.java" />
207
+        <option value="$PROJECT_DIR$/Checkbook/src/main/java/TransactionType.java" />
208
+        <option value="$PROJECT_DIR$/README.md" />
209
+        <option value="$PROJECT_DIR$/Checkbook/src/main/java/GenericAccount.java" />
210
+        <option value="$PROJECT_DIR$/Checkbook/src/main/java/AccountBook.java" />
58 211
         <option value="$PROJECT_DIR$/Checkbook/src/main/java/Payee.java" />
59 212
         <option value="$PROJECT_DIR$/Checkbook/src/main/java/Transaction.java" />
60
-        <option value="$PROJECT_DIR$/Checkbook/src/main/java/AccountBook.java" />
61 213
         <option value="$PROJECT_DIR$/Checkbook/src/main/java/Checkbook.java" />
62
-        <option value="$PROJECT_DIR$/Checkbook/src/main/java/GenericAccount.java" />
63
-        <option value="$PROJECT_DIR$/Checkbook/src/main/java/TransactionType.java" />
64
-        <option value="$PROJECT_DIR$/README.md" />
214
+        <option value="$PROJECT_DIR$/Checkbook/src/test/java/CheckbookTest.java" />
65 215
       </list>
66 216
     </option>
67 217
   </component>
@@ -71,31 +221,23 @@
71 221
     <detection-done>true</detection-done>
72 222
     <sorting>DEFINITION_ORDER</sorting>
73 223
   </component>
224
+  <component name="MavenImportPreferences">
225
+    <option name="importingSettings">
226
+      <MavenImportingSettings>
227
+        <option name="importAutomatically" value="true" />
228
+      </MavenImportingSettings>
229
+    </option>
230
+  </component>
74 231
   <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" />
232
+    <option name="y" value="23" />
233
+    <option name="width" value="1280" />
234
+    <option name="height" value="717" />
79 235
   </component>
80 236
   <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 />
237
+    <navigator proportions="" version="1">
92 238
       <foldersAlwaysOnTop value="true" />
93 239
     </navigator>
94 240
     <panes>
95
-      <pane id="Scope" />
96
-      <pane id="Scratches" />
97
-      <pane id="AndroidView" />
98
-      <pane id="PackagesPane" />
99 241
       <pane id="ProjectPane">
100 242
         <subPane>
101 243
           <expand>
@@ -129,23 +271,47 @@
129 271
               <item name="main" type="462c0819:PsiDirectoryNode" />
130 272
               <item name="java" type="462c0819:PsiDirectoryNode" />
131 273
             </path>
274
+            <path>
275
+              <item name="Checkbook-OldStyle" type="b2602c69:ProjectViewProjectNode" />
276
+              <item name="Checkbook-OldStyle" type="462c0819:PsiDirectoryNode" />
277
+              <item name="Checkbook" type="462c0819:PsiDirectoryNode" />
278
+              <item name="src" type="462c0819:PsiDirectoryNode" />
279
+              <item name="test" type="462c0819:PsiDirectoryNode" />
280
+            </path>
281
+            <path>
282
+              <item name="Checkbook-OldStyle" type="b2602c69:ProjectViewProjectNode" />
283
+              <item name="Checkbook-OldStyle" type="462c0819:PsiDirectoryNode" />
284
+              <item name="Checkbook" type="462c0819:PsiDirectoryNode" />
285
+              <item name="src" type="462c0819:PsiDirectoryNode" />
286
+              <item name="test" type="462c0819:PsiDirectoryNode" />
287
+              <item name="java" type="462c0819:PsiDirectoryNode" />
288
+            </path>
289
+            <path>
290
+              <item name="Checkbook-OldStyle" type="b2602c69:ProjectViewProjectNode" />
291
+              <item name="Checkbook-OldStyle" type="462c0819:PsiDirectoryNode" />
292
+              <item name="Checkbook" type="462c0819:PsiDirectoryNode" />
293
+              <item name="target" type="462c0819:PsiDirectoryNode" />
294
+            </path>
132 295
           </expand>
133 296
           <select />
134 297
         </subPane>
135 298
       </pane>
299
+      <pane id="Scope" />
300
+      <pane id="PackagesPane" />
301
+      <pane id="AndroidView" />
136 302
     </panes>
137 303
   </component>
138 304
   <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 305
     <property name="WebServerToolWindowFactoryState" value="false" />
142 306
     <property name="aspect.path.notification.shown" value="true" />
143
-    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
307
+    <property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrary" value="JUnit4" />
144 308
     <property name="jdk.selected.JAVA_MODULE" value="1.8" />
309
+    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
310
+    <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
145 311
     <property name="project.structure.last.edited" value="Modules" />
146 312
     <property name="project.structure.proportion" value="0.0" />
147 313
     <property name="project.structure.side.proportion" value="0.0" />
148
-    <property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrary" value="JUnit4" />
314
+    <property name="settings.editor.selected.configurable" value="configurable.group.appearance" />
149 315
   </component>
150 316
   <component name="RecentsManager">
151 317
     <key name="CreateTestDialog.RecentsKey">
@@ -167,90 +333,113 @@
167 333
       </list>
168 334
     </option>
169 335
   </component>
170
-  <component name="RunManager">
336
+  <component name="RunManager" selected="JUnit.CheckbookTest.testaddAll">
171 337
     <configuration default="true" type="Applet" factoryName="Applet">
172
-      <option name="WIDTH" value="400" />
173
-      <option name="HEIGHT" value="300" />
174 338
       <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
175
-      <module />
339
+      <method v="2">
340
+        <option name="Make" enabled="true" />
341
+      </method>
176 342
     </configuration>
177 343
     <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 344
       <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 />
345
+      <method v="2">
346
+        <option name="Make" enabled="true" />
347
+      </method>
190 348
     </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" />
349
+    <configuration name="CheckbookTest.tesallTransactionforPayee1" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
350
+      <module name="Checkbook" />
351
+      <option name="PACKAGE_NAME" value="" />
352
+      <option name="MAIN_CLASS_NAME" value="CheckbookTest" />
353
+      <option name="METHOD_NAME" value="tesallTransactionforPayee1" />
354
+      <option name="TEST_OBJECT" value="method" />
202 355
       <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 />
356
+      <method v="2">
357
+        <option name="Make" enabled="true" />
358
+      </method>
210 359
     </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" />
360
+    <configuration name="CheckbookTest.testContinsAll" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
361
+      <module name="Checkbook" />
362
+      <option name="PACKAGE_NAME" value="" />
363
+      <option name="MAIN_CLASS_NAME" value="CheckbookTest" />
364
+      <option name="METHOD_NAME" value="testContinsAll" />
365
+      <option name="TEST_OBJECT" value="method" />
366
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
367
+      <method v="2">
368
+        <option name="Make" enabled="true" />
369
+      </method>
370
+    </configuration>
371
+    <configuration name="CheckbookTest.testaddAll" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
372
+      <module name="Checkbook" />
373
+      <option name="PACKAGE_NAME" value="" />
374
+      <option name="MAIN_CLASS_NAME" value="CheckbookTest" />
375
+      <option name="METHOD_NAME" value="testaddAll" />
376
+      <option name="TEST_OBJECT" value="method" />
377
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
378
+      <method v="2">
379
+        <option name="Make" enabled="true" />
380
+      </method>
381
+    </configuration>
382
+    <configuration name="CheckbookTest.testgetAllTransactionCredit" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
383
+      <module name="Checkbook" />
384
+      <option name="PACKAGE_NAME" value="" />
385
+      <option name="MAIN_CLASS_NAME" value="CheckbookTest" />
386
+      <option name="METHOD_NAME" value="testgetAllTransactionCredit" />
387
+      <option name="TEST_OBJECT" value="method" />
388
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
389
+      <method v="2">
390
+        <option name="Make" enabled="true" />
391
+      </method>
392
+    </configuration>
393
+    <configuration name="CheckbookTest.testgetAllTransactionDebit" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
394
+      <module name="Checkbook" />
395
+      <option name="PACKAGE_NAME" value="" />
396
+      <option name="MAIN_CLASS_NAME" value="CheckbookTest" />
397
+      <option name="METHOD_NAME" value="testgetAllTransactionDebit" />
398
+      <option name="TEST_OBJECT" value="method" />
399
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
400
+      <method v="2">
401
+        <option name="Make" enabled="true" />
402
+      </method>
403
+    </configuration>
404
+    <configuration default="true" type="JUnit" factoryName="JUnit">
405
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
406
+      <method v="2">
407
+        <option name="Make" enabled="true" />
408
+      </method>
217 409
     </configuration>
218 410
     <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 411
       <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 412
       <properties />
243 413
       <listeners />
414
+      <method v="2">
415
+        <option name="Make" enabled="true" />
416
+      </method>
244 417
     </configuration>
245 418
     <configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
246 419
       <module name="" />
247 420
       <option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
248 421
       <option name="PROGRAM_PARAMETERS" />
249 422
       <predefined_log_file id="idea.log" enabled="true" />
423
+      <method v="2">
424
+        <option name="Make" enabled="true" />
425
+      </method>
250 426
     </configuration>
251
-  </component>
252
-  <component name="ShelveChangesManager" show_recycled="false">
253
-    <option name="remove_strategy" value="false" />
427
+    <list>
428
+      <item itemvalue="JUnit.CheckbookTest.tesallTransactionforPayee1" />
429
+      <item itemvalue="JUnit.CheckbookTest.testgetAllTransactionCredit" />
430
+      <item itemvalue="JUnit.CheckbookTest.testgetAllTransactionDebit" />
431
+      <item itemvalue="JUnit.CheckbookTest.testContinsAll" />
432
+      <item itemvalue="JUnit.CheckbookTest.testaddAll" />
433
+    </list>
434
+    <recent_temporary>
435
+      <list>
436
+        <item itemvalue="JUnit.CheckbookTest.testaddAll" />
437
+        <item itemvalue="JUnit.CheckbookTest.testContinsAll" />
438
+        <item itemvalue="JUnit.CheckbookTest.testgetAllTransactionDebit" />
439
+        <item itemvalue="JUnit.CheckbookTest.testgetAllTransactionCredit" />
440
+        <item itemvalue="JUnit.CheckbookTest.tesallTransactionforPayee1" />
441
+      </list>
442
+    </recent_temporary>
254 443
   </component>
255 444
   <component name="SvnConfiguration">
256 445
     <configuration />
@@ -263,43 +452,107 @@
263 452
       <option name="presentableId" value="Default" />
264 453
       <updated>1543958631974</updated>
265 454
       <workItem from="1543958633447" duration="3259000" />
455
+      <workItem from="1544324292004" duration="30314000" />
266 456
     </task>
267 457
     <servers />
268 458
   </component>
459
+  <component name="TestHistory">
460
+    <history-entry file="CheckbookTest_testSize - 2018.12.09 at 23h 00m 27s.xml">
461
+      <configuration name="CheckbookTest.testSize" configurationId="JUnit" />
462
+    </history-entry>
463
+    <history-entry file="CheckbookTest_testSize - 2018.12.09 at 23h 01m 06s.xml">
464
+      <configuration name="CheckbookTest.testSize" configurationId="JUnit" />
465
+    </history-entry>
466
+    <history-entry file="CheckbookTest_testSize - 2018.12.09 at 23h 01m 14s.xml">
467
+      <configuration name="CheckbookTest.testSize" configurationId="JUnit" />
468
+    </history-entry>
469
+    <history-entry file="CheckbookTest_testSize - 2018.12.09 at 23h 04m 31s.xml">
470
+      <configuration name="CheckbookTest.testSize" configurationId="JUnit" />
471
+    </history-entry>
472
+    <history-entry file="CheckbookTest_testSize - 2018.12.09 at 23h 08m 10s.xml">
473
+      <configuration name="CheckbookTest.testSize" configurationId="JUnit" />
474
+    </history-entry>
475
+    <history-entry file="CheckbookTest_tesallTransactionforPayee - 2018.12.09 at 23h 13m 29s.xml">
476
+      <configuration name="CheckbookTest.tesallTransactionforPayee" configurationId="JUnit" />
477
+    </history-entry>
478
+    <history-entry file="CheckbookTest_tesallTransactionforPayee - 2018.12.09 at 23h 13m 58s.xml">
479
+      <configuration name="CheckbookTest.tesallTransactionforPayee" configurationId="JUnit" />
480
+    </history-entry>
481
+    <history-entry file="CheckbookTest_tesallTransactionforPayee1 - 2018.12.09 at 23h 15m 11s.xml">
482
+      <configuration name="CheckbookTest.tesallTransactionforPayee1" configurationId="JUnit" />
483
+    </history-entry>
484
+    <history-entry file="CheckbookTest_testgetAllTransactionCredit - 2018.12.09 at 23h 17m 52s.xml">
485
+      <configuration name="CheckbookTest.testgetAllTransactionCredit" configurationId="JUnit" />
486
+    </history-entry>
487
+    <history-entry file="CheckbookTest_testgetAllTransactionDebit - 2018.12.09 at 23h 18m 47s.xml">
488
+      <configuration name="CheckbookTest.testgetAllTransactionDebit" configurationId="JUnit" />
489
+    </history-entry>
490
+  </component>
269 491
   <component name="TimeTrackingManager">
270
-    <option name="totallyTimeSpent" value="3259000" />
492
+    <option name="totallyTimeSpent" value="33573000" />
271 493
   </component>
272 494
   <component name="ToolWindowManager">
273
-    <frame x="115" y="45" width="1538" height="962" extended-state="0" />
495
+    <frame x="0" y="23" width="1280" height="717" extended-state="0" />
274 496
     <editor active="true" />
275 497
     <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" />
498
+      <window_info id="Learn" />
499
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.2536349" />
500
+      <window_info id="Structure" order="1" weight="0.25" />
501
+      <window_info id="Image Layers" order="2" />
502
+      <window_info id="Designer" order="3" />
503
+      <window_info id="UI Designer" order="4" />
504
+      <window_info id="Capture Tool" order="5" />
505
+      <window_info id="Favorites" order="6" side_tool="true" />
506
+      <window_info anchor="bottom" id="Messages" weight="0.32890365" />
507
+      <window_info anchor="bottom" id="Message" order="0" />
508
+      <window_info anchor="bottom" id="Find" order="1" />
509
+      <window_info anchor="bottom" id="Run" order="2" visible="true" weight="0.32890365" />
510
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.3986711" />
511
+      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
512
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
513
+      <window_info anchor="bottom" id="TODO" order="6" />
514
+      <window_info anchor="bottom" id="Terminal" order="7" />
515
+      <window_info anchor="bottom" id="Event Log" order="8" side_tool="true" />
516
+      <window_info anchor="bottom" id="Version Control" order="9" />
517
+      <window_info anchor="right" id="Commander" order="0" weight="0.4" />
518
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
519
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
520
+      <window_info anchor="right" id="Palette" order="3" />
521
+      <window_info anchor="right" id="Capture Analysis" order="4" />
522
+      <window_info anchor="right" id="Theme Preview" order="5" />
523
+      <window_info anchor="right" id="Database" order="6" />
524
+      <window_info anchor="right" id="Palette&#9;" order="7" />
525
+      <window_info anchor="right" id="Maven Projects" order="8" />
302 526
     </layout>
527
+    <layout-to-restore>
528
+      <window_info id="Learn" order="0" />
529
+      <window_info active="true" content_ui="combo" id="Project" order="1" visible="true" weight="0.2536349" />
530
+      <window_info id="Structure" order="2" weight="0.25" />
531
+      <window_info id="Image Layers" order="3" />
532
+      <window_info id="Designer" order="4" />
533
+      <window_info id="UI Designer" order="5" />
534
+      <window_info id="Capture Tool" order="6" />
535
+      <window_info id="Favorites" order="7" side_tool="true" />
536
+      <window_info anchor="bottom" id="Message" order="0" />
537
+      <window_info anchor="bottom" id="Find" order="1" />
538
+      <window_info anchor="bottom" id="Run" order="2" />
539
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
540
+      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
541
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
542
+      <window_info anchor="bottom" id="TODO" order="6" />
543
+      <window_info anchor="bottom" id="Terminal" order="7" />
544
+      <window_info anchor="bottom" id="Event Log" order="8" side_tool="true" />
545
+      <window_info anchor="bottom" id="Version Control" order="9" />
546
+      <window_info anchor="right" id="Commander" order="0" weight="0.4" />
547
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
548
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
549
+      <window_info anchor="right" id="Palette" order="3" />
550
+      <window_info anchor="right" id="Capture Analysis" order="4" />
551
+      <window_info anchor="right" id="Theme Preview" order="5" />
552
+      <window_info anchor="right" id="Database" order="6" />
553
+      <window_info anchor="right" id="Palette&#9;" order="7" />
554
+      <window_info anchor="right" id="Maven Projects" order="8" />
555
+    </layout-to-restore>
303 556
   </component>
304 557
   <component name="TypeScriptGeneratedFilesManager">
305 558
     <option name="version" value="1" />
@@ -307,23 +560,39 @@
307 560
   <component name="VcsContentAnnotationSettings">
308 561
     <option name="myLimit" value="2678400000" />
309 562
   </component>
310
-  <component name="XDebuggerManager">
311
-    <breakpoint-manager />
312
-    <watches-manager />
313
-  </component>
314 563
   <component name="editorHistoryManager">
315
-    <entry file="file://$PROJECT_DIR$/Checkbook/src/test/java/CheckbookTest.java">
564
+    <entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/src.zip!/java/util/concurrent/atomic/AtomicReference.java" />
565
+    <entry file="file://$PROJECT_DIR$/Checkbook/pom.xml">
566
+      <provider selected="true" editor-type-id="text-editor" />
567
+    </entry>
568
+    <entry file="file://$PROJECT_DIR$/Checkbook/Checkbook.iml">
569
+      <provider selected="true" editor-type-id="text-editor" />
570
+    </entry>
571
+    <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/AccountBook.java">
572
+      <provider selected="true" editor-type-id="text-editor">
573
+        <state relative-caret-position="30">
574
+          <caret line="2" column="31" selection-start-line="2" selection-start-column="30" selection-end-line="2" selection-end-column="31" />
575
+        </state>
576
+      </provider>
577
+    </entry>
578
+    <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/GenericAccount.java">
316 579
       <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 />
580
+        <state relative-caret-position="15">
581
+          <caret line="1" column="7" selection-start-line="1" selection-start-column="7" selection-end-line="1" selection-end-column="7" />
582
+        </state>
583
+      </provider>
584
+    </entry>
585
+    <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/TransactionType.java">
586
+      <provider selected="true" editor-type-id="text-editor">
587
+        <state relative-caret-position="15">
588
+          <caret line="1" selection-start-line="1" selection-end-line="1" />
320 589
         </state>
321 590
       </provider>
322 591
     </entry>
323 592
     <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/Payee.java">
324 593
       <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" />
594
+        <state relative-caret-position="180">
595
+          <caret line="12" column="20" selection-start-line="12" selection-start-column="20" selection-end-line="12" selection-end-column="20" />
327 596
           <folding>
328 597
             <element signature="e#151#152#0" expanded="true" />
329 598
             <element signature="e#184#185#0" expanded="true" />
@@ -341,42 +610,23 @@
341 610
         </state>
342 611
       </provider>
343 612
     </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">
613
+    <entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/src.zip!/java/util/ArrayList.java">
353 614
       <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 />
615
+        <state relative-caret-position="126">
616
+          <caret line="908" selection-start-line="908" selection-end-line="908" />
365 617
         </state>
366 618
       </provider>
367 619
     </entry>
368 620
     <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/Transaction.java">
369 621
       <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" />
622
+        <state relative-caret-position="129">
623
+          <caret line="27" column="10" selection-start-line="27" selection-start-column="10" selection-end-line="27" selection-end-column="10" />
372 624
           <folding>
373 625
             <element signature="imports" expanded="true" />
374 626
             <element signature="e#175#184#0" expanded="true" />
375 627
             <element signature="e#259#270#0" expanded="true" />
376 628
             <element signature="e#689#690#0" expanded="true" />
377 629
             <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 630
             <element signature="e#827#828#0" expanded="true" />
381 631
             <element signature="e#855#856#0" expanded="true" />
382 632
             <element signature="e#886#887#0" expanded="true" />
@@ -391,38 +641,47 @@
391 641
         </state>
392 642
       </provider>
393 643
     </entry>
394
-    <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/AccountBook.java">
395
-      <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 />
644
+    <entry file="file://$PROJECT_DIR$/README.md">
645
+      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
646
+        <state split_layout="FIRST">
647
+          <first_editor relative-caret-position="176">
648
+            <caret line="42" column="41" lean-forward="true" selection-start-line="42" selection-start-column="2" selection-end-line="42" selection-end-column="41" />
649
+          </first_editor>
650
+          <second_editor />
399 651
         </state>
400 652
       </provider>
401 653
     </entry>
402 654
     <entry file="file://$PROJECT_DIR$/Checkbook/src/main/java/Checkbook.java">
403 655
       <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 />
656
+        <state relative-caret-position="147">
657
+          <caret line="175" column="42" selection-start-line="175" selection-start-column="42" selection-end-line="175" selection-end-column="42" />
658
+          <folding>
659
+            <element signature="imports" expanded="true" />
660
+            <element signature="e#444#445#0" expanded="true" />
661
+            <element signature="e#488#489#0" expanded="true" />
662
+            <element signature="e#634#635#0" expanded="true" />
663
+            <element signature="e#668#669#0" expanded="true" />
664
+            <element signature="e#2223#2224#0" expanded="true" />
665
+            <element signature="e#2257#2258#0" expanded="true" />
666
+            <element signature="e#2183#2184#0" expanded="true" />
667
+            <element signature="e#2221#2222#0" expanded="true" />
668
+            <element signature="e#4699#4700#0" expanded="true" />
669
+            <element signature="e#4747#4748#0" expanded="true" />
670
+            <element signature="e#4688#4689#0" expanded="true" />
671
+            <element signature="e#4729#4730#0" expanded="true" />
672
+            <element signature="e#4789#4790#0" expanded="true" />
673
+            <element signature="e#4833#4834#0" expanded="true" />
674
+          </folding>
407 675
         </state>
408 676
       </provider>
409 677
     </entry>
410
-    <entry file="file://$PROJECT_DIR$/Checkbook/pom.xml">
678
+    <entry file="file://$PROJECT_DIR$/Checkbook/src/test/java/CheckbookTest.java">
411 679
       <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 />
415
-        </state>
416
-      </provider>
417
-    </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 />
680
+        <state relative-caret-position="252">
681
+          <caret line="146" column="48" selection-start-line="146" selection-start-column="48" selection-end-line="146" selection-end-column="48" />
682
+          <folding>
683
+            <element signature="imports" expanded="true" />
684
+          </folding>
426 685
         </state>
427 686
       </provider>
428 687
     </entry>

+ 2
- 1
Checkbook/src/main/java/AccountBook.java Vedi File

@@ -1,6 +1,7 @@
1 1
 import java.time.LocalDate;
2 2
 
3
-public interface AccountBook {
3
+public interface AccountBook <T> {
4
+
4 5
     public Integer getId();
5 6
     public LocalDate getDate();
6 7
     public TransactionType getType();

+ 181
- 2
Checkbook/src/main/java/Checkbook.java Vedi File

@@ -1,5 +1,184 @@
1
+import javax.swing.text.html.HTMLDocument;
2
+import java.time.LocalDate;
3
+import java.util.*;
4
+import java.util.stream.Collector;
5
+import java.util.stream.Stream;
6
+
7
+//blind us with your Java eloquence....
8
+     /**
9
+     * int size()
10
+     * boolean isEmpty()
11
+     * boolean contains(Transaction element)
12
+     * boolean add(Transaction element)
13
+     * boolean remove(Transaction element)
14
+     * Iterator<Transaction> iterator()
15
+
16
+     AND
17
+
18
+     * Transaction[] toArray()
19
+     * <Transaction> Transaction[] toArray(Transaction[] a)
20
+
21
+     * double checkbookValue() // sum of all Transactions (both Debits and Credits)
22
+     * Transaction getTransactionsForDate(LocalDate aDate)
23
+     * Transaction[] getAllTransactionsForPayee(Payee payee)
24
+     * Transaction[] getAllDebitTransactions()
25
+     * Transaction[] getAllCreditTransactions()
26
+
27
+     Special Constructors:
28
+
29
+     * Checkbook(double cashAmount)
30
+     * Checkbook(Payee owner, double cashAmount)
31
+**/
32
+
1 33
 public class Checkbook {
34
+    //Transaction transaction = new Transaction();
35
+
36
+    List<Transaction> list = new ArrayList<>();
37
+
38
+    private double cashAmount;
39
+    private Payee owner;
40
+
41
+         public Checkbook() {
42
+         }
43
+
44
+         public Checkbook(double cashAmount) {
45
+        this.cashAmount = cashAmount;
46
+    }
47
+
48
+    //    public Transaction(String memo, Payee payee, TransactionType typee, Double amount) {
49
+
50
+    public Checkbook(double cashAmount, Payee owner) {
51
+        this.cashAmount = cashAmount;
52
+        this.owner = owner;
53
+    }
54
+
55
+
56
+
57
+    public int size() {
58
+        return list.size();
59
+    }
60
+
61
+    public boolean isEmpty() {
62
+       return list.isEmpty();
63
+
64
+    }
65
+
66
+    public boolean contains(Transaction element) {
67
+
68
+        return list.contains(element);
69
+
70
+    }
71
+
72
+    public boolean add(Transaction element) {
73
+
74
+        return list.add(element);
75
+    }
76
+
77
+
78
+    public boolean remove(Transaction element) {
79
+
80
+       Iterator<Transaction> it = list.iterator();
81
+       int i=0;
82
+        while(it.hasNext() ){
83
+           Transaction top = it.next();
84
+           if(top.getPayee().getGivenName().equalsIgnoreCase(element.getPayee().getGivenName() ) ){
85
+               list.remove(i) ;
86
+           }
87
+               i++;
88
+        }
89
+             return true;
90
+
91
+    }
92
+
93
+    public void clear (){
94
+              list.clear();
95
+    }
96
+
97
+    public Iterator<Transaction> iterator() {
98
+        return list.iterator();
99
+    }
100
+
101
+    public double checkbookValue() {
102
+
103
+        double debitSum = 0;
104
+        double creditSum = 0;
105
+
106
+        Transaction[] transactions = getAllCreditTransactions();
107
+        for (Transaction transaction : transactions) {
108
+            creditSum = transaction.getAmount();
109
+        }
110
+        Transaction[] transactions1 = getAllDebitTransactions();
111
+        for (Transaction transaction : transactions1) {
112
+            debitSum = transaction.getAmount();
113
+        }
114
+        return debitSum-creditSum ;
115
+    }
116
+
117
+
118
+    public Transaction getTransactionsForDate(LocalDate aDate) {
119
+        Iterator it = iterator();
120
+
121
+        Transaction temp;
122
+        while (it.hasNext()) {
123
+
124
+            temp =  (Transaction) it.next();
125
+            if (temp.getDate().equals(aDate)) {
126
+                return temp;
127
+            }
128
+        }
129
+        return null;
130
+    }
131
+
132
+
133
+    public Transaction[] getAllTransactionsForPayee(Payee payee) {
134
+        Iterator it = iterator();
135
+        ArrayList<Transaction> al = new ArrayList<>();
136
+
137
+
138
+        while (it.hasNext()) {
139
+            Transaction temp = (Transaction) it.next();
140
+            {
141
+                if(temp.getPayee().getGivenName().equalsIgnoreCase(payee.getGivenName() )
142
+            && temp.getPayee().getEmailAddress().equalsIgnoreCase(payee.getEmailAddress())
143
+            && temp.getPayee().getFamilyName().equalsIgnoreCase(payee.getFamilyName() ) )
144
+                al.add(temp);
145
+            }
146
+        }
147
+        return al.toArray(new Transaction[al.size()]);
148
+    }
149
+
150
+    public Transaction[] getAllDebitTransactions() {
151
+        Iterator<Transaction> it = iterator();
152
+        ArrayList<Transaction> al = new ArrayList<>();
153
+        while (it.hasNext()) {
154
+            Transaction trans = it.next();
155
+            if (trans.getType() == TransactionType.DEBIT) {
156
+                al.add(trans);
157
+            }
158
+        }
159
+        return al.toArray(new Transaction[al.size()]);
160
+
161
+    }
2 162
 
3
-    //blind us with your Java eloquence....
163
+    public Transaction[] getAllCreditTransactions() {
164
+        Iterator<Transaction> it = iterator();
165
+        ArrayList<Transaction> al = new ArrayList<>();
166
+        while (it.hasNext()) {
167
+            Transaction trans =  it.next();
168
+            if (trans.getType() == TransactionType.CREDIT) {
169
+                al.add(trans);
170
+            }
171
+        }
172
+        return al.toArray(new Transaction[al.size()]);
173
+    }
4 174
 
5
-}
175
+    public  boolean containsAll(Collection<Transaction> c) {
176
+             return   list.containsAll(c);
177
+    }
178
+    public  boolean addAll(Collection<Transaction> c){
179
+             return list.addAll(c);
180
+    }
181
+    public  boolean removeAll(Collection<Transaction> c){
182
+             return list.removeAll(c);
183
+    }
184
+}

+ 1
- 1
Checkbook/src/main/java/GenericAccount.java Vedi File

@@ -1,3 +1,3 @@
1 1
 
2
-public class GenericAccount {
2
+public class GenericAccount <T> {
3 3
 }

+ 22
- 2
Checkbook/src/main/java/Payee.java Vedi File

@@ -1,9 +1,18 @@
1
-public class Payee {
1
+public class Payee  {
2 2
 
3 3
     private String familyName;
4 4
     private String givenName;
5 5
     private String emailAddress;
6 6
 
7
+    public Payee(String familyName, String givenName, String emailAddress) {
8
+        this.familyName = familyName;
9
+        this.givenName = givenName;
10
+        this.emailAddress = emailAddress;
11
+    }
12
+
13
+    public Payee() {
14
+    }
15
+
7 16
     public String getFamilyName() {
8 17
         return familyName;
9 18
     }
@@ -20,6 +29,7 @@ public class Payee {
20 29
         this.givenName = givenName;
21 30
     }
22 31
 
32
+
23 33
     public String getEmailAddress() {
24 34
         return emailAddress;
25 35
     }
@@ -27,7 +37,17 @@ public class Payee {
27 37
     public void setEmailAddress(String emailAddress) {
28 38
         this.emailAddress = emailAddress;
29 39
     }
40
+
41
+//    @Override
42
+//    public boolean compareTo( Payee o,Payee s) {
43
+//         return(o.getGivenName().equalsIgnoreCase(s.getGivenName() )
44
+//                && o.getEmailAddress().equalsIgnoreCase(s.getEmailAddress() )
45
+//                && o.getFamilyName().equalsIgnoreCase(s.getFamilyName()) );
46
+//
47
+//        }
48
+
49
+    }
30 50
     // ... and a bunch more hidden stuff: for testing purposes only
31 51
 
32 52
 
33
-}
53
+

+ 9
- 0
Checkbook/src/main/java/Transaction.java Vedi File

@@ -9,11 +9,15 @@ public class Transaction {
9 9
     private TransactionType typee; // Credit (reduces the checkbook), Debit (increases the checkbook)
10 10
     private Double amount;
11 11
 
12
+    public Transaction() {
13
+    }
14
+
12 15
     public Transaction(String memo, Payee payee, TransactionType typee, Double amount) {
13 16
         this.typee = typee;
14 17
         this.memo = memo;
15 18
         this.payee = payee;
16 19
         this.amount = amount;
20
+
17 21
     }
18 22
 
19 23
     public Integer getId() {
@@ -21,6 +25,7 @@ public class Transaction {
21 25
     }
22 26
 
23 27
     public LocalDate getDate() {
28
+        //System.out.println("Display date " + date.get().toString());
24 29
         return date.get();
25 30
     }
26 31
 
@@ -50,4 +55,8 @@ public class Transaction {
50 55
         }
51 56
         return (-1.0 * amount);
52 57
     }
58
+
59
+
60
+
61
+
53 62
 }

+ 158
- 1
Checkbook/src/test/java/CheckbookTest.java Vedi File

@@ -1,12 +1,169 @@
1
+import org.junit.Assert;
2
+import org.junit.Test;
3
+
4
+import java.time.LocalDate;
5
+import java.util.ArrayList;
6
+import java.util.Collection;
7
+import java.util.Collections;
8
+import java.util.Date;
9
+
1 10
 import static org.junit.Assert.*;
2 11
 
3 12
 public class CheckbookTest {
4 13
 
14
+
15
+
16
+
17
+    Transaction transaction;
18
+
19
+    Payee payee;
20
+
21
+    Checkbook checkbook =new Checkbook() ;
22
+
23
+    ArrayList<Transaction>list ;
24
+
5 25
     @org.junit.Before
6 26
     public void setUp() throws Exception {
7
-    }
27
+        for (int i = 0; i<5; i++) {
28
+
29
+            payee =new Payee("Ffamilyname_" + i,"Fgivename_"+i,"Femail_" + i);
30
+
8 31
 
32
+            //(String memo, Payee payee, TransactionType typee, Double amount)
33
+            transaction = new Transaction("Opening Account_"+i, payee, TransactionType.DEBIT, 1000.00);
34
+
35
+          checkbook.add(transaction);
36
+         // System.out.println ( " Date - "+ transaction.getDate().toString() );
37
+
38
+        }
39
+
40
+    }
9 41
     @org.junit.After
10 42
     public void tearDown() throws Exception {
11 43
     }
44
+
45
+    @Test
46
+    public void testSize(){
47
+        int expected=5;
48
+        int actual=checkbook.size();
49
+        Assert.assertEquals(expected,actual) ;
50
+    }
51
+    @Test
52
+    public void testSize1(){
53
+        int expected=4;
54
+        checkbook.remove( new Transaction("Opening Account_1", new Payee("Ffamilyname_1" ,"Fgivename_1","Femail_1"  ), TransactionType.DEBIT, 1000.00));
55
+        int actual=checkbook.size();
56
+        Assert.assertEquals(expected,actual) ;
57
+    }
58
+   @Test
59
+    public void testEmpty(){
60
+        boolean  expected=false;
61
+        boolean actual=checkbook.isEmpty();
62
+        Assert.assertEquals(expected,actual);
63
+   }
64
+    @Test
65
+    public void testEmpty1(){
66
+        int  expected=0;
67
+        //list.add(1,"x","John","CRDIT",1000.0) ;
68
+        checkbook.clear();
69
+        int actual=checkbook.size() ;
70
+        Assert.assertEquals(expected,actual);
71
+    }
72
+  @Test
73
+    public void testadd(){
74
+        //System.out.println ();
75
+        boolean expected=true;
76
+        boolean  actual=  checkbook.add(new Transaction("opening",(new Payee("Jemail","Jfamily","Jemail") ),TransactionType.DEBIT ,1000.0)); ;
77
+        Assert.assertEquals(expected,actual) ;
78
+  }
79
+  @Test
80
+  public void testadd2(){
81
+      boolean expected=true;
82
+      boolean  actual= (boolean) checkbook.add(new Transaction("checking balance",payee,TransactionType .CREDIT ,15000.0));
83
+      Assert.assertEquals(expected,actual) ;
84
+  }
85
+  @Test
86
+    public void testRemove(){
87
+        boolean expected=true;
88
+
89
+        //Boolean actual= (Boolean) checkbook.remove();
90
+       // Assert.assertEquals(expected,actual);
91
+  }
92
+    @Test
93
+    public void testRemove1(){
94
+
95
+        boolean expected=true;
96
+       // Boolean actual= (Boolean) checkbook.remove();
97
+        //Assert.assertEquals(expected,actual);
98
+    }
99
+    @Test
100
+    public void testgetTransactionsForDate(){
101
+
102
+
103
+
104
+    }
105
+    @Test
106
+    public void  tesallTransactionforPayee(){
107
+      int expeceted=0;
108
+      Transaction  actual[]=checkbook.getAllTransactionsForPayee(new Payee("Jemail","Jfamily","Jemail") ) ;
109
+      Assert.assertEquals(expeceted,actual.length);
110
+    }
111
+
112
+    @Test
113
+    public void  tesallTransactionforPayee1(){
114
+        int expeceted=1;
115
+        Transaction  actual[]=checkbook.getAllTransactionsForPayee(new Payee("Ffamilyname_1" ,"Fgivename_1","Femail_1" ) ) ;
116
+        Assert.assertEquals(expeceted,actual.length);
117
+    }
118
+    @Test
119
+    public void  testgetAllTransactionCredit(){
120
+        int expected=0;
121
+        Transaction  actual[]=checkbook.getAllCreditTransactions() ;
122
+        Assert.assertEquals(expected,actual.length);
123
+
124
+    }
125
+
126
+    @Test
127
+    public void  testgetAllTransactionDebit(){
128
+        int expected=5;
129
+        Transaction  actual[]=checkbook.getAllDebitTransactions() ;
130
+        Assert.assertEquals(expected,actual.length);
131
+
132
+    }
133
+    @Test
134
+    public void testContinsAll(){
135
+       Collection< Transaction> transactions =new ArrayList<>() ;
136
+
137
+        for (int i = 0; i<5; i++) {
138
+
139
+            payee =new Payee("Ffamilyname_" + i,"Fgivename_"+i,"Femail_" + i);
140
+
141
+            transaction = new Transaction("Opening Account_"+i, payee, TransactionType.DEBIT, 1000.00);
142
+
143
+            transactions.add(transaction) ;
144
+            // System.out.println ( " Date - "+ transaction.getDate().toString() );
145
+
146
+        }
147
+        boolean expected=true;
148
+        boolean actual=checkbook.containsAll(transactions ) ;
149
+        Assert.assertEquals(expected,actual);
150
+    }
151
+    @Test
152
+    public void testaddAll(){
153
+        Collection< Transaction> transactions =new ArrayList<>() ;
154
+
155
+        for (int i = 0; i<5; i++) {
156
+
157
+            payee =new Payee("Ffamilyname_" + i,"Fgivename_"+i,"Femail_" + i);
158
+
159
+            transaction = new Transaction("Opening Account_"+i, payee, TransactionType.DEBIT, 1000.00);
160
+
161
+            transactions.add(transaction) ;
162
+            // System.out.println ( " Date - "+ transaction.getDate().toString() );
163
+
164
+        }
165
+        boolean expected=true;
166
+        boolean actual=checkbook.addAll(transactions ) ;
167
+        Assert.assertEquals(expected,actual);
168
+    }
12 169
 }