Leon 7 年之前
父節點
當前提交
f5b539870f

+ 348
- 130
.idea/workspace.xml 查看文件

2
 <project version="4">
2
 <project version="4">
3
   <component name="ChangeListManager">
3
   <component name="ChangeListManager">
4
     <list default="true" id="30b7e4a0-b899-49c3-865c-0311dfadae62" name="Default" comment="">
4
     <list default="true" id="30b7e4a0-b899-49c3-865c-0311dfadae62" name="Default" comment="">
5
-      <change type="DELETED" beforePath="$PROJECT_DIR$/Test Results - TestSuiteFullRegression.html" afterPath="" />
5
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPersonWarehouse.java" />
6
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.class" afterPath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.class" />
6
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
7
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
8
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java" />
9
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java" />
10
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/PersonWarehouse.leonlog" afterPath="$PROJECT_DIR$/target/PersonWarehouse.leonlog" />
11
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/global.leonlog" afterPath="$PROJECT_DIR$/target/global.leonlog" />
7
     </list>
12
     </list>
8
     <ignored path="$PROJECT_DIR$/out/" />
13
     <ignored path="$PROJECT_DIR$/out/" />
9
     <ignored path="$PROJECT_DIR$/target/" />
14
     <ignored path="$PROJECT_DIR$/target/" />
14
     <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
19
     <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
15
     <option name="LAST_RESOLUTION" value="IGNORE" />
20
     <option name="LAST_RESOLUTION" value="IGNORE" />
16
   </component>
21
   </component>
22
+  <component name="DockManager">
23
+    <window id="1">
24
+      <content type="file-editors">
25
+        <state>
26
+          <leaf>
27
+            <file leaf-file-name="TestPersonWarehouse.java" pinned="false" current-in-tab="true">
28
+              <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPersonWarehouse.java">
29
+                <provider selected="true" editor-type-id="text-editor">
30
+                  <state relative-caret-position="485">
31
+                    <caret line="51" column="53" lean-forward="true" selection-start-line="51" selection-start-column="53" selection-end-line="51" selection-end-column="53" />
32
+                    <folding>
33
+                      <element signature="imports" expanded="true" />
34
+                    </folding>
35
+                  </state>
36
+                </provider>
37
+              </entry>
38
+            </file>
39
+          </leaf>
40
+        </state>
41
+      </content>
42
+    </window>
43
+  </component>
17
   <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
44
   <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
18
   <component name="ExportTestResults" outputFolder="$PROJECT_DIR$" openResultsInEditor="true" userTempatePath="" />
45
   <component name="ExportTestResults" outputFolder="$PROJECT_DIR$" openResultsInEditor="true" userTempatePath="" />
19
   <component name="FileEditorManager">
46
   <component name="FileEditorManager">
21
       <file leaf-file-name="StreamFilter.java" pinned="false" current-in-tab="false">
48
       <file leaf-file-name="StreamFilter.java" pinned="false" current-in-tab="false">
22
         <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamFilter.java">
49
         <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamFilter.java">
23
           <provider selected="true" editor-type-id="text-editor">
50
           <provider selected="true" editor-type-id="text-editor">
24
-            <state relative-caret-position="552">
25
-              <caret line="67" column="35" lean-forward="false" selection-start-line="67" selection-start-column="35" selection-end-line="67" selection-end-column="35" />
51
+            <state relative-caret-position="-94">
52
+              <caret line="32" column="0" lean-forward="true" selection-start-line="32" selection-start-column="0" selection-end-line="32" selection-end-column="0" />
26
               <folding>
53
               <folding>
27
-                <element signature="e#3278#3279#0" expanded="true" />
54
+                <element signature="e#690#691#0" expanded="true" />
55
+                <element signature="e#788#789#0" expanded="true" />
56
+                <element signature="e#988#989#0" expanded="true" />
57
+                <element signature="e#1046#1047#0" expanded="true" />
28
               </folding>
58
               </folding>
29
             </state>
59
             </state>
30
           </provider>
60
           </provider>
31
         </entry>
61
         </entry>
32
       </file>
62
       </file>
33
-      <file leaf-file-name="TestStreamFilter.java" pinned="false" current-in-tab="false">
34
-        <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/TestStreamFilter.java">
63
+      <file leaf-file-name="TestConstants.java" pinned="false" current-in-tab="false">
64
+        <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/TestConstants.java">
35
           <provider selected="true" editor-type-id="text-editor">
65
           <provider selected="true" editor-type-id="text-editor">
36
-            <state relative-caret-position="180">
37
-              <caret line="21" column="33" lean-forward="false" selection-start-line="21" selection-start-column="33" selection-end-line="21" selection-end-column="33" />
38
-              <folding>
39
-                <element signature="e#600#601#0" expanded="true" />
40
-                <element signature="e#649#650#0" expanded="true" />
41
-              </folding>
66
+            <state relative-caret-position="105">
67
+              <caret line="7" column="26" lean-forward="false" selection-start-line="7" selection-start-column="26" selection-end-line="7" selection-end-column="26" />
68
+              <folding />
42
             </state>
69
             </state>
43
           </provider>
70
           </provider>
44
         </entry>
71
         </entry>
45
       </file>
72
       </file>
46
-      <file leaf-file-name="TestConstants.java" pinned="false" current-in-tab="false">
47
-        <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/TestConstants.java">
73
+      <file leaf-file-name="TestPersonFactory.java" pinned="false" current-in-tab="false">
74
+        <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPersonFactory.java">
48
           <provider selected="true" editor-type-id="text-editor">
75
           <provider selected="true" editor-type-id="text-editor">
49
-            <state relative-caret-position="105">
50
-              <caret line="7" column="26" lean-forward="false" selection-start-line="7" selection-start-column="26" selection-end-line="7" selection-end-column="26" />
76
+            <state relative-caret-position="315">
77
+              <caret line="32" column="12" lean-forward="false" selection-start-line="32" selection-start-column="12" selection-end-line="32" selection-end-column="12" />
51
               <folding />
78
               <folding />
52
             </state>
79
             </state>
53
           </provider>
80
           </provider>
88
       <file leaf-file-name="PersonFactory.java" pinned="false" current-in-tab="true">
115
       <file leaf-file-name="PersonFactory.java" pinned="false" current-in-tab="true">
89
         <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java">
116
         <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java">
90
           <provider selected="true" editor-type-id="text-editor">
117
           <provider selected="true" editor-type-id="text-editor">
91
-            <state relative-caret-position="465">
92
-              <caret line="37" column="20" lean-forward="true" selection-start-line="37" selection-start-column="20" selection-end-line="37" selection-end-column="20" />
118
+            <state relative-caret-position="250">
119
+              <caret line="23" column="90" lean-forward="false" selection-start-line="23" selection-start-column="90" selection-end-line="23" selection-end-column="90" />
93
               <folding />
120
               <folding />
94
             </state>
121
             </state>
95
           </provider>
122
           </provider>
98
       <file leaf-file-name="PersonWarehouse.java" pinned="false" current-in-tab="false">
125
       <file leaf-file-name="PersonWarehouse.java" pinned="false" current-in-tab="false">
99
         <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java">
126
         <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java">
100
           <provider selected="true" editor-type-id="text-editor">
127
           <provider selected="true" editor-type-id="text-editor">
101
-            <state relative-caret-position="493">
102
-              <caret line="69" column="0" lean-forward="false" selection-start-line="69" selection-start-column="0" selection-end-line="69" selection-end-column="0" />
128
+            <state relative-caret-position="203">
129
+              <caret line="51" column="33" lean-forward="false" selection-start-line="51" selection-start-column="33" selection-end-line="51" selection-end-column="33" />
103
               <folding>
130
               <folding>
104
-                <element signature="e#2001#2002#0" expanded="true" />
105
-                <element signature="e#2057#2058#0" expanded="true" />
131
+                <element signature="e#2007#2008#0" expanded="true" />
132
+                <element signature="e#2063#2064#0" expanded="true" />
133
+                <element signature="e#3120#3121#0" expanded="true" />
134
+                <element signature="e#3149#3150#0" expanded="true" />
106
               </folding>
135
               </folding>
107
             </state>
136
             </state>
108
           </provider>
137
           </provider>
152
       <find>.stream</find>
181
       <find>.stream</find>
153
       <find>.stream()</find>
182
       <find>.stream()</find>
154
       <find>Person</find>
183
       <find>Person</find>
184
+      <find>people.</find>
155
     </findStrings>
185
     </findStrings>
156
     <replaceStrings>
186
     <replaceStrings>
157
       <replace>public static</replace>
187
       <replace>public static</replace>
161
       <replace>private final</replace>
191
       <replace>private final</replace>
162
       <replace>.parallelStream()</replace>
192
       <replace>.parallelStream()</replace>
163
       <replace>R</replace>
193
       <replace>R</replace>
194
+      <replace>getPeople().</replace>
164
     </replaceStrings>
195
     </replaceStrings>
165
   </component>
196
   </component>
166
   <component name="Git.Settings">
197
   <component name="Git.Settings">
174
   <component name="IdeDocumentHistory">
205
   <component name="IdeDocumentHistory">
175
     <option name="CHANGED_PATHS">
206
     <option name="CHANGED_PATHS">
176
       <list>
207
       <list>
177
-        <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/lambdas/exercises/TestListConversion.java" />
178
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/lambdas/exercises/TestArrayConversion.java" />
208
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/lambdas/exercises/TestArrayConversion.java" />
179
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/lambdas/exercises/TestConversionArray.java" />
209
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/lambdas/exercises/TestConversionArray.java" />
180
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/lambdas/exercises/TestConverterArray.java" />
210
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/lambdas/exercises/TestConverterArray.java" />
215
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPerson.java" />
245
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPerson.java" />
216
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPersonFactory.java" />
246
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPersonFactory.java" />
217
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/Person.java" />
247
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/Person.java" />
218
-        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java" />
219
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/StringUtils.java" />
248
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/StringUtils.java" />
220
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java" />
249
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java" />
221
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java" />
250
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java" />
225
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/DateUtils.java" />
254
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/DateUtils.java" />
226
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/conversions/TestConversionAgent.java" />
255
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/conversions/TestConversionAgent.java" />
227
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java" />
256
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java" />
257
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java" />
258
+        <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPersonWarehouse.java" />
228
       </list>
259
       </list>
229
     </option>
260
     </option>
230
   </component>
261
   </component>
265
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
296
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
266
             </PATH_ELEMENT>
297
             </PATH_ELEMENT>
267
           </PATH>
298
           </PATH>
299
+          <PATH>
300
+            <PATH_ELEMENT>
301
+              <option name="myItemId" value="looptest" />
302
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
303
+            </PATH_ELEMENT>
304
+            <PATH_ELEMENT>
305
+              <option name="myItemId" value="looptest" />
306
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
307
+            </PATH_ELEMENT>
308
+            <PATH_ELEMENT>
309
+              <option name="myItemId" value="src" />
310
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
311
+            </PATH_ELEMENT>
312
+            <PATH_ELEMENT>
313
+              <option name="myItemId" value="test" />
314
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
315
+            </PATH_ELEMENT>
316
+            <PATH_ELEMENT>
317
+              <option name="myItemId" value="java" />
318
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
319
+            </PATH_ELEMENT>
320
+            <PATH_ELEMENT>
321
+              <option name="myItemId" value="streams" />
322
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
323
+            </PATH_ELEMENT>
324
+          </PATH>
325
+          <PATH>
326
+            <PATH_ELEMENT>
327
+              <option name="myItemId" value="looptest" />
328
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
329
+            </PATH_ELEMENT>
330
+            <PATH_ELEMENT>
331
+              <option name="myItemId" value="looptest" />
332
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
333
+            </PATH_ELEMENT>
334
+            <PATH_ELEMENT>
335
+              <option name="myItemId" value="src" />
336
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
337
+            </PATH_ELEMENT>
338
+            <PATH_ELEMENT>
339
+              <option name="myItemId" value="test" />
340
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
341
+            </PATH_ELEMENT>
342
+            <PATH_ELEMENT>
343
+              <option name="myItemId" value="java" />
344
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
345
+            </PATH_ELEMENT>
346
+            <PATH_ELEMENT>
347
+              <option name="myItemId" value="streams" />
348
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
349
+            </PATH_ELEMENT>
350
+            <PATH_ELEMENT>
351
+              <option name="myItemId" value="conversions" />
352
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
353
+            </PATH_ELEMENT>
354
+          </PATH>
355
+          <PATH>
356
+            <PATH_ELEMENT>
357
+              <option name="myItemId" value="looptest" />
358
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
359
+            </PATH_ELEMENT>
360
+            <PATH_ELEMENT>
361
+              <option name="myItemId" value="looptest" />
362
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
363
+            </PATH_ELEMENT>
364
+            <PATH_ELEMENT>
365
+              <option name="myItemId" value="src" />
366
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
367
+            </PATH_ELEMENT>
368
+            <PATH_ELEMENT>
369
+              <option name="myItemId" value="test" />
370
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
371
+            </PATH_ELEMENT>
372
+            <PATH_ELEMENT>
373
+              <option name="myItemId" value="java" />
374
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
375
+            </PATH_ELEMENT>
376
+            <PATH_ELEMENT>
377
+              <option name="myItemId" value="streams" />
378
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
379
+            </PATH_ELEMENT>
380
+            <PATH_ELEMENT>
381
+              <option name="myItemId" value="anthropoid" />
382
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
383
+            </PATH_ELEMENT>
384
+          </PATH>
385
+          <PATH>
386
+            <PATH_ELEMENT>
387
+              <option name="myItemId" value="looptest" />
388
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
389
+            </PATH_ELEMENT>
390
+            <PATH_ELEMENT>
391
+              <option name="myItemId" value="looptest" />
392
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
393
+            </PATH_ELEMENT>
394
+            <PATH_ELEMENT>
395
+              <option name="myItemId" value="src" />
396
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
397
+            </PATH_ELEMENT>
398
+            <PATH_ELEMENT>
399
+              <option name="myItemId" value="main" />
400
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
401
+            </PATH_ELEMENT>
402
+          </PATH>
403
+          <PATH>
404
+            <PATH_ELEMENT>
405
+              <option name="myItemId" value="looptest" />
406
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
407
+            </PATH_ELEMENT>
408
+            <PATH_ELEMENT>
409
+              <option name="myItemId" value="looptest" />
410
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
411
+            </PATH_ELEMENT>
412
+            <PATH_ELEMENT>
413
+              <option name="myItemId" value="src" />
414
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
415
+            </PATH_ELEMENT>
416
+            <PATH_ELEMENT>
417
+              <option name="myItemId" value="main" />
418
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
419
+            </PATH_ELEMENT>
420
+            <PATH_ELEMENT>
421
+              <option name="myItemId" value="java" />
422
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
423
+            </PATH_ELEMENT>
424
+            <PATH_ELEMENT>
425
+              <option name="myItemId" value="streams" />
426
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
427
+            </PATH_ELEMENT>
428
+          </PATH>
429
+          <PATH>
430
+            <PATH_ELEMENT>
431
+              <option name="myItemId" value="looptest" />
432
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
433
+            </PATH_ELEMENT>
434
+            <PATH_ELEMENT>
435
+              <option name="myItemId" value="looptest" />
436
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
437
+            </PATH_ELEMENT>
438
+            <PATH_ELEMENT>
439
+              <option name="myItemId" value="src" />
440
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
441
+            </PATH_ELEMENT>
442
+            <PATH_ELEMENT>
443
+              <option name="myItemId" value="main" />
444
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
445
+            </PATH_ELEMENT>
446
+            <PATH_ELEMENT>
447
+              <option name="myItemId" value="java" />
448
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
449
+            </PATH_ELEMENT>
450
+            <PATH_ELEMENT>
451
+              <option name="myItemId" value="streams" />
452
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
453
+            </PATH_ELEMENT>
454
+            <PATH_ELEMENT>
455
+              <option name="myItemId" value="anthropoid" />
456
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
457
+            </PATH_ELEMENT>
458
+          </PATH>
268
         </subPane>
459
         </subPane>
269
       </pane>
460
       </pane>
270
     </panes>
461
     </panes>
303
       </list>
494
       </list>
304
     </option>
495
     </option>
305
   </component>
496
   </component>
306
-  <component name="RunManager" selected="JUnit.TestSuiteFullRegression">
497
+  <component name="RunManager" selected="JUnit.TestPersonWarehouse">
307
     <configuration default="false" name="TestSuiteFullRegression" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
498
     <configuration default="false" name="TestSuiteFullRegression" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
308
       <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
499
       <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
309
         <pattern>
500
         <pattern>
330
       <patterns />
521
       <patterns />
331
       <method />
522
       <method />
332
     </configuration>
523
     </configuration>
333
-    <configuration default="false" name="TestConverterArray.testCount" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
524
+    <configuration default="false" name="TestPerson" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
334
       <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
525
       <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
335
         <pattern>
526
         <pattern>
336
           <option name="PATTERN" value="com.zipcodewilmington.streams.anthropoid.*" />
527
           <option name="PATTERN" value="com.zipcodewilmington.streams.anthropoid.*" />
337
           <option name="ENABLED" value="true" />
528
           <option name="ENABLED" value="true" />
338
         </pattern>
529
         </pattern>
339
       </extension>
530
       </extension>
340
-      <module name="looptest" />
531
+      <option name="MAIN_CLASS_NAME" value="com.zipcodewilmington.streams.anthropoid.TestPerson" />
532
+      <option name="VM_PARAMETERS" />
533
+      <option name="PROGRAM_PARAMETERS" />
534
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
341
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
535
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
342
       <option name="ALTERNATIVE_JRE_PATH" />
536
       <option name="ALTERNATIVE_JRE_PATH" />
343
-      <option name="PACKAGE_NAME" value="com.zipcodewilmington.streams.conversions" />
344
-      <option name="MAIN_CLASS_NAME" value="com.zipcodewilmington.streams.conversions.TestConverterArray" />
345
-      <option name="METHOD_NAME" value="testCount" />
346
-      <option name="TEST_OBJECT" value="method" />
347
-      <option name="VM_PARAMETERS" value="-ea" />
348
-      <option name="PARAMETERS" />
349
-      <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
537
+      <option name="ENABLE_SWING_INSPECTOR" value="false" />
350
       <option name="ENV_VARIABLES" />
538
       <option name="ENV_VARIABLES" />
351
       <option name="PASS_PARENT_ENVS" value="true" />
539
       <option name="PASS_PARENT_ENVS" value="true" />
352
-      <option name="TEST_SEARCH_SCOPE">
353
-        <value defaultName="singleModule" />
354
-      </option>
540
+      <module name="looptest" />
355
       <envs />
541
       <envs />
356
-      <patterns />
357
       <method />
542
       <method />
358
     </configuration>
543
     </configuration>
359
-    <configuration default="false" name="TestConverterArray" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
544
+    <configuration default="false" name="TestPersonWarehouse.testAddPerson" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
360
       <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
545
       <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
361
         <pattern>
546
         <pattern>
362
           <option name="PATTERN" value="com.zipcodewilmington.streams.anthropoid.*" />
547
           <option name="PATTERN" value="com.zipcodewilmington.streams.anthropoid.*" />
363
           <option name="ENABLED" value="true" />
548
           <option name="ENABLED" value="true" />
364
         </pattern>
549
         </pattern>
365
       </extension>
550
       </extension>
366
-      <module name="looptest" />
551
+      <module name="streamdemo" />
367
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
552
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
368
       <option name="ALTERNATIVE_JRE_PATH" />
553
       <option name="ALTERNATIVE_JRE_PATH" />
369
-      <option name="PACKAGE_NAME" value="com.zipcodewilmington.streams.conversions" />
370
-      <option name="MAIN_CLASS_NAME" value="com.zipcodewilmington.streams.conversions.TestConverterArray" />
371
-      <option name="METHOD_NAME" />
372
-      <option name="TEST_OBJECT" value="class" />
554
+      <option name="PACKAGE_NAME" value="com.zipcodewilmington.streams.anthropoid" />
555
+      <option name="MAIN_CLASS_NAME" value="com.zipcodewilmington.streams.anthropoid.TestPersonWarehouse" />
556
+      <option name="METHOD_NAME" value="testAddPerson" />
557
+      <option name="TEST_OBJECT" value="method" />
373
       <option name="VM_PARAMETERS" value="-ea" />
558
       <option name="VM_PARAMETERS" value="-ea" />
374
       <option name="PARAMETERS" />
559
       <option name="PARAMETERS" />
375
       <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
560
       <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
382
       <patterns />
567
       <patterns />
383
       <method />
568
       <method />
384
     </configuration>
569
     </configuration>
385
-    <configuration default="false" name="TestSuiteConversionRegression" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
570
+    <configuration default="false" name="TestPersonWarehouse.testGetIdToNameMap" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
386
       <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
571
       <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
387
         <pattern>
572
         <pattern>
388
           <option name="PATTERN" value="com.zipcodewilmington.streams.anthropoid.*" />
573
           <option name="PATTERN" value="com.zipcodewilmington.streams.anthropoid.*" />
389
           <option name="ENABLED" value="true" />
574
           <option name="ENABLED" value="true" />
390
         </pattern>
575
         </pattern>
391
       </extension>
576
       </extension>
392
-      <module name="looptest" />
577
+      <module name="streamdemo" />
393
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
578
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
394
       <option name="ALTERNATIVE_JRE_PATH" />
579
       <option name="ALTERNATIVE_JRE_PATH" />
395
-      <option name="PACKAGE_NAME" value="com.zipcodewilmington.streams.conversions" />
396
-      <option name="MAIN_CLASS_NAME" value="com.zipcodewilmington.streams.conversions.TestSuiteConversionRegression" />
397
-      <option name="METHOD_NAME" />
398
-      <option name="TEST_OBJECT" value="class" />
580
+      <option name="PACKAGE_NAME" value="com.zipcodewilmington.streams.anthropoid" />
581
+      <option name="MAIN_CLASS_NAME" value="com.zipcodewilmington.streams.anthropoid.TestPersonWarehouse" />
582
+      <option name="METHOD_NAME" value="testGetIdToNameMap" />
583
+      <option name="TEST_OBJECT" value="method" />
399
       <option name="VM_PARAMETERS" value="-ea" />
584
       <option name="VM_PARAMETERS" value="-ea" />
400
       <option name="PARAMETERS" />
585
       <option name="PARAMETERS" />
401
       <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
586
       <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
408
       <patterns />
593
       <patterns />
409
       <method />
594
       <method />
410
     </configuration>
595
     </configuration>
411
-    <configuration default="false" name="TestPerson" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
596
+    <configuration default="false" name="TestPersonWarehouse" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
412
       <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
597
       <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
413
         <pattern>
598
         <pattern>
414
           <option name="PATTERN" value="com.zipcodewilmington.streams.anthropoid.*" />
599
           <option name="PATTERN" value="com.zipcodewilmington.streams.anthropoid.*" />
415
           <option name="ENABLED" value="true" />
600
           <option name="ENABLED" value="true" />
416
         </pattern>
601
         </pattern>
417
       </extension>
602
       </extension>
418
-      <option name="MAIN_CLASS_NAME" value="com.zipcodewilmington.streams.anthropoid.TestPerson" />
419
-      <option name="VM_PARAMETERS" />
420
-      <option name="PROGRAM_PARAMETERS" />
421
-      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
603
+      <module name="streamdemo" />
422
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
604
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
423
       <option name="ALTERNATIVE_JRE_PATH" />
605
       <option name="ALTERNATIVE_JRE_PATH" />
424
-      <option name="ENABLE_SWING_INSPECTOR" value="false" />
606
+      <option name="PACKAGE_NAME" value="com.zipcodewilmington.streams.anthropoid" />
607
+      <option name="MAIN_CLASS_NAME" value="com.zipcodewilmington.streams.anthropoid.TestPersonWarehouse" />
608
+      <option name="METHOD_NAME" />
609
+      <option name="TEST_OBJECT" value="class" />
610
+      <option name="VM_PARAMETERS" value="-ea" />
611
+      <option name="PARAMETERS" />
612
+      <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
425
       <option name="ENV_VARIABLES" />
613
       <option name="ENV_VARIABLES" />
426
       <option name="PASS_PARENT_ENVS" value="true" />
614
       <option name="PASS_PARENT_ENVS" value="true" />
427
-      <module name="looptest" />
615
+      <option name="TEST_SEARCH_SCOPE">
616
+        <value defaultName="singleModule" />
617
+      </option>
428
       <envs />
618
       <envs />
619
+      <patterns />
429
       <method />
620
       <method />
430
     </configuration>
621
     </configuration>
431
     <configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
622
     <configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
634
     </configuration>
825
     </configuration>
635
     <list size="5">
826
     <list size="5">
636
       <item index="0" class="java.lang.String" itemvalue="JUnit.TestSuiteFullRegression" />
827
       <item index="0" class="java.lang.String" itemvalue="JUnit.TestSuiteFullRegression" />
637
-      <item index="1" class="java.lang.String" itemvalue="JUnit.TestConverterArray.testCount" />
638
-      <item index="2" class="java.lang.String" itemvalue="JUnit.TestConverterArray" />
639
-      <item index="3" class="java.lang.String" itemvalue="JUnit.TestSuiteConversionRegression" />
640
-      <item index="4" class="java.lang.String" itemvalue="Application.TestPerson" />
828
+      <item index="1" class="java.lang.String" itemvalue="Application.TestPerson" />
829
+      <item index="2" class="java.lang.String" itemvalue="JUnit.TestPersonWarehouse.testAddPerson" />
830
+      <item index="3" class="java.lang.String" itemvalue="JUnit.TestPersonWarehouse.testGetIdToNameMap" />
831
+      <item index="4" class="java.lang.String" itemvalue="JUnit.TestPersonWarehouse" />
641
     </list>
832
     </list>
642
     <recent_temporary>
833
     <recent_temporary>
643
       <list size="5">
834
       <list size="5">
644
-        <item index="0" class="java.lang.String" itemvalue="JUnit.TestSuiteFullRegression" />
645
-        <item index="1" class="java.lang.String" itemvalue="Application.TestPerson" />
646
-        <item index="2" class="java.lang.String" itemvalue="JUnit.TestSuiteConversionRegression" />
647
-        <item index="3" class="java.lang.String" itemvalue="JUnit.TestConverterArray" />
648
-        <item index="4" class="java.lang.String" itemvalue="JUnit.TestConverterArray.testCount" />
835
+        <item index="0" class="java.lang.String" itemvalue="JUnit.TestPersonWarehouse" />
836
+        <item index="1" class="java.lang.String" itemvalue="JUnit.TestPersonWarehouse.testAddPerson" />
837
+        <item index="2" class="java.lang.String" itemvalue="JUnit.TestPersonWarehouse.testGetIdToNameMap" />
838
+        <item index="3" class="java.lang.String" itemvalue="JUnit.TestSuiteFullRegression" />
839
+        <item index="4" class="java.lang.String" itemvalue="Application.TestPerson" />
649
       </list>
840
       </list>
650
     </recent_temporary>
841
     </recent_temporary>
651
   </component>
842
   </component>
666
     <servers />
857
     <servers />
667
   </component>
858
   </component>
668
   <component name="TestHistory">
859
   <component name="TestHistory">
669
-    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 16h 23m 53s.xml">
670
-      <configuration name="TestSuiteFullRegression" configurationId="JUnit" />
860
+    <history-entry file="TestPersonWarehouse - 2017.05.31 at 15h 52m 42s.xml">
861
+      <configuration name="TestPersonWarehouse" configurationId="JUnit" />
671
     </history-entry>
862
     </history-entry>
672
-    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 16h 23m 58s.xml">
673
-      <configuration name="TestSuiteFullRegression" configurationId="JUnit" />
863
+    <history-entry file="TestPersonWarehouse - 2017.05.31 at 15h 52m 47s.xml">
864
+      <configuration name="TestPersonWarehouse" configurationId="JUnit" />
674
     </history-entry>
865
     </history-entry>
675
-    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 16h 24m 21s.xml">
676
-      <configuration name="TestSuiteFullRegression" configurationId="JUnit" />
866
+    <history-entry file="TestPersonWarehouse - 2017.05.31 at 15h 53m 51s.xml">
867
+      <configuration name="TestPersonWarehouse" configurationId="JUnit" />
677
     </history-entry>
868
     </history-entry>
678
-    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 19h 08m 54s.xml">
679
-      <configuration name="TestSuiteFullRegression" configurationId="JUnit" />
869
+    <history-entry file="TestPersonWarehouse - 2017.05.31 at 15h 53m 59s.xml">
870
+      <configuration name="TestPersonWarehouse" configurationId="JUnit" />
680
     </history-entry>
871
     </history-entry>
681
-    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 19h 10m 18s.xml">
682
-      <configuration name="TestSuiteFullRegression" configurationId="JUnit" />
872
+    <history-entry file="TestPersonWarehouse - 2017.05.31 at 15h 54m 04s.xml">
873
+      <configuration name="TestPersonWarehouse" configurationId="JUnit" />
683
     </history-entry>
874
     </history-entry>
684
-    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 19h 44m 08s.xml">
685
-      <configuration name="TestSuiteFullRegression" configurationId="JUnit" />
875
+    <history-entry file="TestPersonWarehouse - 2017.05.31 at 15h 54m 05s.xml">
876
+      <configuration name="TestPersonWarehouse" configurationId="JUnit" />
686
     </history-entry>
877
     </history-entry>
687
-    <history-entry file="TestSuiteFullRegression - 2017.05.31 at 07h 13m 04s.xml">
688
-      <configuration name="TestSuiteFullRegression" configurationId="JUnit" />
878
+    <history-entry file="TestPersonWarehouse - 2017.05.31 at 15h 54m 07s.xml">
879
+      <configuration name="TestPersonWarehouse" configurationId="JUnit" />
689
     </history-entry>
880
     </history-entry>
690
-    <history-entry file="TestSuiteFullRegression - 2017.05.31 at 13h 35m 34s.xml">
691
-      <configuration name="TestSuiteFullRegression" configurationId="JUnit" />
881
+    <history-entry file="TestPersonWarehouse - 2017.05.31 at 15h 54m 23s.xml">
882
+      <configuration name="TestPersonWarehouse" configurationId="JUnit" />
692
     </history-entry>
883
     </history-entry>
693
-    <history-entry file="TestSuiteFullRegression - 2017.05.31 at 13h 38m 47s.xml">
694
-      <configuration name="TestSuiteFullRegression" configurationId="JUnit" />
884
+    <history-entry file="TestPersonWarehouse - 2017.05.31 at 15h 54m 51s.xml">
885
+      <configuration name="TestPersonWarehouse" configurationId="JUnit" />
695
     </history-entry>
886
     </history-entry>
696
-    <history-entry file="TestSuiteFullRegression - 2017.05.31 at 13h 43m 04s.xml">
697
-      <configuration name="TestSuiteFullRegression" configurationId="JUnit" />
887
+    <history-entry file="TestPersonWarehouse - 2017.05.31 at 15h 55m 34s.xml">
888
+      <configuration name="TestPersonWarehouse" configurationId="JUnit" />
698
     </history-entry>
889
     </history-entry>
699
   </component>
890
   </component>
700
   <component name="TodoView">
891
   <component name="TodoView">
708
   </component>
899
   </component>
709
   <component name="ToolWindowManager">
900
   <component name="ToolWindowManager">
710
     <frame x="1440" y="23" width="1920" height="1053" extended-state="6" />
901
     <frame x="1440" y="23" width="1920" height="1053" extended-state="6" />
902
+    <editor active="true" />
711
     <layout>
903
     <layout>
712
       <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="3" side_tool="false" content_ui="tabs" />
904
       <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="3" side_tool="false" content_ui="tabs" />
713
       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32778355" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
905
       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32778355" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
719
       <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="7" side_tool="true" content_ui="tabs" />
911
       <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="7" side_tool="true" content_ui="tabs" />
720
       <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="3" side_tool="false" content_ui="tabs" />
912
       <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="3" side_tool="false" content_ui="tabs" />
721
       <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="7" side_tool="false" content_ui="tabs" />
913
       <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="7" side_tool="false" content_ui="tabs" />
722
-      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.31425598" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
914
+      <window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.31425598" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
723
       <window_info id="Properties" 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="3" side_tool="false" content_ui="tabs" />
915
       <window_info id="Properties" 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="3" side_tool="false" content_ui="tabs" />
724
-      <window_info id="Terminal" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25078043" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
916
+      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25078043" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
725
       <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="2" side_tool="false" content_ui="tabs" />
917
       <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="2" side_tool="false" content_ui="tabs" />
726
       <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="2" side_tool="false" content_ui="tabs" />
918
       <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="2" side_tool="false" content_ui="tabs" />
727
       <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.20820022" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
919
       <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.20820022" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
776
     <option name="FILTER_TARGETS" value="false" />
968
     <option name="FILTER_TARGETS" value="false" />
777
   </component>
969
   </component>
778
   <component name="editorHistoryManager">
970
   <component name="editorHistoryManager">
779
-    <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcode.java" />
780
-    <entry file="file://$PROJECT_DIR$/pom.xml">
781
-      <provider selected="true" editor-type-id="text-editor">
782
-        <state relative-caret-position="0">
783
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
784
-        </state>
785
-      </provider>
786
-    </entry>
787
-    <entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/src.zip!/java/util/ArrayList.java">
788
-      <provider selected="true" editor-type-id="text-editor">
789
-        <state relative-caret-position="312">
790
-          <caret line="105" column="41" lean-forward="true" selection-start-line="105" selection-start-column="41" selection-end-line="105" selection-end-column="41" />
791
-          <folding />
792
-        </state>
793
-      </provider>
794
-    </entry>
795
     <entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/src.zip!/java/util/AbstractList.java">
971
     <entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/src.zip!/java/util/AbstractList.java">
796
       <provider selected="true" editor-type-id="text-editor">
972
       <provider selected="true" editor-type-id="text-editor">
797
         <state relative-caret-position="312">
973
         <state relative-caret-position="312">
798
           <caret line="70" column="53" lean-forward="false" selection-start-line="70" selection-start-column="53" selection-end-line="70" selection-end-column="53" />
974
           <caret line="70" column="53" lean-forward="false" selection-start-line="70" selection-start-column="53" selection-end-line="70" selection-end-column="53" />
975
+          <folding />
799
         </state>
976
         </state>
800
       </provider>
977
       </provider>
801
     </entry>
978
     </entry>
803
       <provider selected="true" editor-type-id="text-editor">
980
       <provider selected="true" editor-type-id="text-editor">
804
         <state relative-caret-position="312">
981
         <state relative-caret-position="312">
805
           <caret line="143" column="43" lean-forward="false" selection-start-line="143" selection-start-column="43" selection-end-line="143" selection-end-column="43" />
982
           <caret line="143" column="43" lean-forward="false" selection-start-line="143" selection-start-column="43" selection-end-line="143" selection-end-column="43" />
983
+          <folding />
806
         </state>
984
         </state>
807
       </provider>
985
       </provider>
808
     </entry>
986
     </entry>
810
       <provider selected="true" editor-type-id="text-editor">
988
       <provider selected="true" editor-type-id="text-editor">
811
         <state relative-caret-position="180">
989
         <state relative-caret-position="180">
812
           <caret line="39" column="59" lean-forward="true" selection-start-line="39" selection-start-column="59" selection-end-line="39" selection-end-column="59" />
990
           <caret line="39" column="59" lean-forward="true" selection-start-line="39" selection-start-column="59" selection-end-line="39" selection-end-column="59" />
991
+          <folding />
813
         </state>
992
         </state>
814
       </provider>
993
       </provider>
815
     </entry>
994
     </entry>
817
       <provider selected="true" editor-type-id="text-editor">
996
       <provider selected="true" editor-type-id="text-editor">
818
         <state relative-caret-position="312">
997
         <state relative-caret-position="312">
819
           <caret line="60" column="59" lean-forward="true" selection-start-line="60" selection-start-column="59" selection-end-line="60" selection-end-column="59" />
998
           <caret line="60" column="59" lean-forward="true" selection-start-line="60" selection-start-column="59" selection-end-line="60" selection-end-column="59" />
999
+          <folding />
820
         </state>
1000
         </state>
821
       </provider>
1001
       </provider>
822
     </entry>
1002
     </entry>
847
       <provider selected="true" editor-type-id="text-editor">
1027
       <provider selected="true" editor-type-id="text-editor">
848
         <state relative-caret-position="786">
1028
         <state relative-caret-position="786">
849
           <caret line="806" column="13" lean-forward="false" selection-start-line="806" selection-start-column="13" selection-end-line="806" selection-end-column="13" />
1029
           <caret line="806" column="13" lean-forward="false" selection-start-line="806" selection-start-column="13" selection-end-line="806" selection-end-column="13" />
1030
+          <folding />
850
         </state>
1031
         </state>
851
       </provider>
1032
       </provider>
852
     </entry>
1033
     </entry>
854
       <provider selected="true" editor-type-id="text-editor">
1035
       <provider selected="true" editor-type-id="text-editor">
855
         <state relative-caret-position="131">
1036
         <state relative-caret-position="131">
856
           <caret line="1003" column="31" lean-forward="false" selection-start-line="1003" selection-start-column="31" selection-end-line="1003" selection-end-column="31" />
1037
           <caret line="1003" column="31" lean-forward="false" selection-start-line="1003" selection-start-column="31" selection-end-line="1003" selection-end-column="31" />
1038
+          <folding />
857
         </state>
1039
         </state>
858
       </provider>
1040
       </provider>
859
     </entry>
1041
     </entry>
939
       <provider selected="true" editor-type-id="text-editor">
1121
       <provider selected="true" editor-type-id="text-editor">
940
         <state relative-caret-position="150">
1122
         <state relative-caret-position="150">
941
           <caret line="10" column="16" lean-forward="false" selection-start-line="10" selection-start-column="16" selection-end-line="10" selection-end-column="16" />
1123
           <caret line="10" column="16" lean-forward="false" selection-start-line="10" selection-start-column="16" selection-end-line="10" selection-end-column="16" />
1124
+          <folding />
942
         </state>
1125
         </state>
943
       </provider>
1126
       </provider>
944
     </entry>
1127
     </entry>
976
       <provider selected="true" editor-type-id="text-editor">
1159
       <provider selected="true" editor-type-id="text-editor">
977
         <state relative-caret-position="265">
1160
         <state relative-caret-position="265">
978
           <caret line="25" column="12" lean-forward="false" selection-start-line="25" selection-start-column="12" selection-end-line="25" selection-end-column="12" />
1161
           <caret line="25" column="12" lean-forward="false" selection-start-line="25" selection-start-column="12" selection-end-line="25" selection-end-column="12" />
979
-        </state>
980
-      </provider>
981
-    </entry>
982
-    <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPersonFactory.java">
983
-      <provider selected="true" editor-type-id="text-editor">
984
-        <state relative-caret-position="166">
985
-          <caret line="23" column="5" lean-forward="true" selection-start-line="23" selection-start-column="5" selection-end-line="23" selection-end-column="5" />
986
-          <folding />
1162
+          <folding>
1163
+            <element signature="imports" expanded="false" />
1164
+          </folding>
987
         </state>
1165
         </state>
988
       </provider>
1166
       </provider>
989
     </entry>
1167
     </entry>
1002
         </state>
1180
         </state>
1003
       </provider>
1181
       </provider>
1004
     </entry>
1182
     </entry>
1005
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamFilter.java">
1006
-      <provider selected="true" editor-type-id="text-editor">
1007
-        <state relative-caret-position="552">
1008
-          <caret line="67" column="35" lean-forward="false" selection-start-line="67" selection-start-column="35" selection-end-line="67" selection-end-column="35" />
1009
-          <folding>
1010
-            <element signature="e#3278#3279#0" expanded="true" />
1011
-          </folding>
1012
-        </state>
1013
-      </provider>
1014
-    </entry>
1015
     <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/RandomUtils.java">
1183
     <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/RandomUtils.java">
1016
       <provider selected="true" editor-type-id="text-editor">
1184
       <provider selected="true" editor-type-id="text-editor">
1017
         <state relative-caret-position="604">
1185
         <state relative-caret-position="604">
1081
         <state relative-caret-position="135">
1249
         <state relative-caret-position="135">
1082
           <caret line="9" column="22" lean-forward="false" selection-start-line="9" selection-start-column="22" selection-end-line="9" selection-end-column="22" />
1250
           <caret line="9" column="22" lean-forward="false" selection-start-line="9" selection-start-column="22" selection-end-line="9" selection-end-column="22" />
1083
           <folding>
1251
           <folding>
1084
-            <element signature="e#504#505#0" expanded="true" />
1085
-            <element signature="e#547#548#0" expanded="true" />
1252
+            <element signature="e#504#505#0" expanded="false" />
1253
+            <element signature="e#547#548#0" expanded="false" />
1086
           </folding>
1254
           </folding>
1087
         </state>
1255
         </state>
1088
       </provider>
1256
       </provider>
1091
       <provider selected="true" editor-type-id="text-editor">
1259
       <provider selected="true" editor-type-id="text-editor">
1092
         <state relative-caret-position="272">
1260
         <state relative-caret-position="272">
1093
           <caret line="28" column="55" lean-forward="true" selection-start-line="28" selection-start-column="55" selection-end-line="28" selection-end-column="55" />
1261
           <caret line="28" column="55" lean-forward="true" selection-start-line="28" selection-start-column="55" selection-end-line="28" selection-end-column="55" />
1262
+          <folding />
1094
         </state>
1263
         </state>
1095
       </provider>
1264
       </provider>
1096
     </entry>
1265
     </entry>
1110
         </state>
1279
         </state>
1111
       </provider>
1280
       </provider>
1112
     </entry>
1281
     </entry>
1282
+    <entry file="file://$PROJECT_DIR$/streamdemo.iml">
1283
+      <provider selected="true" editor-type-id="text-editor">
1284
+        <state relative-caret-position="0">
1285
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
1286
+          <folding />
1287
+        </state>
1288
+      </provider>
1289
+    </entry>
1290
+    <entry file="file://$PROJECT_DIR$/.gitignore">
1291
+      <provider selected="true" editor-type-id="text-editor">
1292
+        <state relative-caret-position="15">
1293
+          <caret line="1" column="0" lean-forward="true" selection-start-line="1" selection-start-column="0" selection-end-line="1" selection-end-column="0" />
1294
+          <folding />
1295
+        </state>
1296
+      </provider>
1297
+    </entry>
1298
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamFilter.java">
1299
+      <provider selected="true" editor-type-id="text-editor">
1300
+        <state relative-caret-position="-94">
1301
+          <caret line="32" column="0" lean-forward="true" selection-start-line="32" selection-start-column="0" selection-end-line="32" selection-end-column="0" />
1302
+          <folding>
1303
+            <element signature="e#690#691#0" expanded="true" />
1304
+            <element signature="e#788#789#0" expanded="true" />
1305
+            <element signature="e#988#989#0" expanded="true" />
1306
+            <element signature="e#1046#1047#0" expanded="true" />
1307
+          </folding>
1308
+        </state>
1309
+      </provider>
1310
+    </entry>
1113
     <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java">
1311
     <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java">
1114
       <provider selected="true" editor-type-id="text-editor">
1312
       <provider selected="true" editor-type-id="text-editor">
1115
-        <state relative-caret-position="493">
1116
-          <caret line="69" column="0" lean-forward="false" selection-start-line="69" selection-start-column="0" selection-end-line="69" selection-end-column="0" />
1313
+        <state relative-caret-position="203">
1314
+          <caret line="51" column="33" lean-forward="false" selection-start-line="51" selection-start-column="33" selection-end-line="51" selection-end-column="33" />
1117
           <folding>
1315
           <folding>
1118
-            <element signature="e#2001#2002#0" expanded="true" />
1119
-            <element signature="e#2057#2058#0" expanded="true" />
1316
+            <element signature="e#2007#2008#0" expanded="true" />
1317
+            <element signature="e#2063#2064#0" expanded="true" />
1318
+            <element signature="e#3120#3121#0" expanded="true" />
1319
+            <element signature="e#3149#3150#0" expanded="true" />
1120
           </folding>
1320
           </folding>
1121
         </state>
1321
         </state>
1122
       </provider>
1322
       </provider>
1123
     </entry>
1323
     </entry>
1324
+    <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPersonFactory.java">
1325
+      <provider selected="true" editor-type-id="text-editor">
1326
+        <state relative-caret-position="315">
1327
+          <caret line="32" column="12" lean-forward="false" selection-start-line="32" selection-start-column="12" selection-end-line="32" selection-end-column="12" />
1328
+          <folding />
1329
+        </state>
1330
+      </provider>
1331
+    </entry>
1124
     <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java">
1332
     <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java">
1125
       <provider selected="true" editor-type-id="text-editor">
1333
       <provider selected="true" editor-type-id="text-editor">
1126
-        <state relative-caret-position="465">
1127
-          <caret line="37" column="20" lean-forward="true" selection-start-line="37" selection-start-column="20" selection-end-line="37" selection-end-column="20" />
1334
+        <state relative-caret-position="250">
1335
+          <caret line="23" column="90" lean-forward="false" selection-start-line="23" selection-start-column="90" selection-end-line="23" selection-end-column="90" />
1128
           <folding />
1336
           <folding />
1129
         </state>
1337
         </state>
1130
       </provider>
1338
       </provider>
1131
     </entry>
1339
     </entry>
1340
+    <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPersonWarehouse.java">
1341
+      <provider selected="true" editor-type-id="text-editor">
1342
+        <state relative-caret-position="485">
1343
+          <caret line="51" column="53" lean-forward="true" selection-start-line="51" selection-start-column="53" selection-end-line="51" selection-end-column="53" />
1344
+          <folding>
1345
+            <element signature="imports" expanded="true" />
1346
+          </folding>
1347
+        </state>
1348
+      </provider>
1349
+    </entry>
1132
   </component>
1350
   </component>
1133
   <component name="masterDetails">
1351
   <component name="masterDetails">
1134
     <states>
1352
     <states>

+ 1
- 1
src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java 查看文件

21
      * @return a new instance of a person with fields of random values
21
      * @return a new instance of a person with fields of random values
22
      */
22
      */
23
     public static Person createRandomPerson() {
23
     public static Person createRandomPerson() {
24
-        String name = StringUtils.capitalizeFirstChar(RandomUtils.createString('a', 'z', 3));
24
+        String name = StringUtils.capitalizeFirstChar(RandomUtils.createString('a', 'z', 4));
25
         String[] aliases = RandomUtils.createStrings('a', 'z', 5, 5);
25
         String[] aliases = RandomUtils.createStrings('a', 'z', 5, 5);
26
         int age = RandomUtils.createInteger(0, 99);
26
         int age = RandomUtils.createInteger(0, 99);
27
         boolean isMale = RandomUtils.createBoolean(50);
27
         boolean isMale = RandomUtils.createBoolean(50);

+ 20
- 4
src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java 查看文件

16
  *
16
  *
17
  * @ATTENTION_TO_STUDENTS You are FORBIDDEN from using loops of any sort within the definition of this class.
17
  * @ATTENTION_TO_STUDENTS You are FORBIDDEN from using loops of any sort within the definition of this class.
18
  */
18
  */
19
-public class PersonWarehouse {
19
+public final class PersonWarehouse {
20
     private static final LoggerHandler loggerHandler = LoggerWarehouse.getLogger(PersonWarehouse.class);
20
     private static final LoggerHandler loggerHandler = LoggerWarehouse.getLogger(PersonWarehouse.class);
21
-    private static ArrayList<Person> people = new ArrayList<>();
21
+    private static final ArrayList<Person> people = new ArrayList<>();
22
 
22
 
23
     public static void addPerson(Person person) {
23
     public static void addPerson(Person person) {
24
         loggerHandler.disbalePrinting();
24
         loggerHandler.disbalePrinting();
31
      * @return list of uniquely named Person objects
31
      * @return list of uniquely named Person objects
32
      */ //TODO
32
      */ //TODO
33
     public static Stream<Person> getUniquelyNamedPeople() {
33
     public static Stream<Person> getUniquelyNamedPeople() {
34
-        List<String> names = people.parallelStream().map(p -> p.getName()).collect(Collectors.toList());
34
+        List<String> names = people.parallelStream().map(p -> p.getName()).distinct().collect(Collectors.toList());
35
         return people.parallelStream().filter(person -> !names.contains(person.getName()));
35
         return people.parallelStream().filter(person -> !names.contains(person.getName()));
36
     }
36
     }
37
 
37
 
38
+
38
     /**
39
     /**
39
      * @param character starting character of Person objects' name
40
      * @param character starting character of Person objects' name
40
      * @return a Stream of respective
41
      * @return a Stream of respective
45
     }
46
     }
46
 
47
 
47
     /**
48
     /**
48
-     * @param n starting character of Person objects' name
49
+     * @param n first `n` Person objects
49
      * @return a Stream of respective
50
      * @return a Stream of respective
50
      */ //TODO
51
      */ //TODO
51
     public static Stream<Person> getFirstNUniquelyNamedPeople(int n) {
52
     public static Stream<Person> getFirstNUniquelyNamedPeople(int n) {
75
     public static Stream<String> getAllAliases() {
76
     public static Stream<String> getAllAliases() {
76
         return people.parallelStream().flatMap(person -> Stream.of(person.getAliases()));
77
         return people.parallelStream().flatMap(person -> Stream.of(person.getAliases()));
77
     }
78
     }
79
+
80
+    /**
81
+     * @return list of names of Person objects
82
+     */ // TODO
83
+    public static List<String> getNames() {
84
+        return people.parallelStream().map(p -> p.getName()).collect(Collectors.toList());
85
+    }
86
+
87
+    /**
88
+     * @return ArrayList of all Person objects in this warehouse
89
+     */
90
+    public static ArrayList<Person> getPeople() {
91
+        return people;
92
+    }
93
+
78
 }
94
 }

+ 96
- 0
src/test/java/com/zipcodewilmington/streams/anthropoid/TestPersonWarehouse.java 查看文件

1
+package com.zipcodewilmington.streams.anthropoid;
2
+
3
+import com.zipcodewilmington.streams.tools.RandomUtils;
4
+import org.junit.Assert;
5
+import org.junit.Before;
6
+import org.junit.Test;
7
+
8
+import java.util.*;
9
+import java.util.stream.Collectors;
10
+
11
+/**
12
+ * Created by leon on 5/31/17.
13
+ */
14
+public class TestPersonWarehouse {
15
+
16
+    @Before
17
+    public void setup() {
18
+        PersonWarehouse.getPeople().clear();
19
+        PersonFactory.createPersonStream(999);
20
+    }
21
+
22
+    @Test
23
+    public void testAddPerson() {
24
+        int startSize = PersonWarehouse.getPeople().size();
25
+        int expectedEndSize = startSize + 1;
26
+        PersonFactory.createRandomPerson();
27
+
28
+        int actualEndSize = PersonWarehouse.getPeople().size();
29
+
30
+        Assert.assertEquals(expectedEndSize, actualEndSize);
31
+    }
32
+
33
+    @Test
34
+    public void testGetUniquelyNamedPeople() {
35
+        List<Person> uniquelyNamedPeople = PersonWarehouse.getUniquelyNamedPeople().collect(Collectors.toList());
36
+        List<String> uniqueNames = new ArrayList<>();
37
+        for (Person person : PersonWarehouse.getPeople()) {
38
+            String personName = person.getName();
39
+            boolean isUnique = !uniqueNames.contains(personName);
40
+            if (isUnique) {
41
+                uniqueNames.add(personName);
42
+            }
43
+        }
44
+
45
+        Assert.assertEquals(uniqueNames.size(), uniquelyNamedPeople.size());
46
+    }
47
+
48
+    @Test
49
+    public void testGetFirstNUniquelyNamedPeople() {
50
+        int expectedSize = RandomUtils.createInteger(1, 2);
51
+        int actualSize = PersonWarehouse.getFirstNUniquelyNamedPeople(expectedSize).collect(Collectors.toList()).size();
52
+        Assert.assertTrue(expectedSize > actualSize);
53
+    }
54
+
55
+    @Test
56
+    public void testGetUniquelyNamedPeopleStartingWith() {
57
+        Character startingCharacter = RandomUtils.createCharacter('A', 'Z');
58
+        List<Person> people = PersonWarehouse.getUniquelyNamedPeopleStartingWith(startingCharacter).collect(Collectors.toList());
59
+        for (Person person : people) {
60
+            String personName = person.getName();
61
+            Assert.assertTrue(personName.startsWith(startingCharacter.toString()));
62
+        }
63
+    }
64
+
65
+    @Test
66
+    public void testGetIdToNameMap() {
67
+        Map<Long, String> warehouseNameMap = PersonWarehouse.getIdToNameMap();
68
+        Map<Long, String> localNameMap = new HashMap<>();
69
+        for (Person person : PersonWarehouse.getPeople()) {
70
+            long id = person.getPersonalId();
71
+            String name = person.getName();
72
+            localNameMap.put(id, name);
73
+        }
74
+
75
+        Iterator<Map.Entry<Long, String>> it = localNameMap.entrySet().iterator();
76
+        while (it.hasNext()) {
77
+            Map.Entry<Long, String> pair = it.next();
78
+            long pairKey = pair.getKey();
79
+            String pairValue = pair.getValue();
80
+            String mapValue = warehouseNameMap.get(pairKey);
81
+
82
+            Assert.assertTrue(mapValue.equals(pairValue));
83
+        }
84
+    }
85
+
86
+
87
+    @Test
88
+    public void testGetNames() {
89
+        List<String> warehouseNames = PersonWarehouse.getNames();
90
+        ArrayList<String> localNames = new ArrayList<>();
91
+        for (Person person : PersonWarehouse.getPeople()) {
92
+            localNames.add(person.getName());
93
+        }
94
+        Assert.assertEquals(localNames.size(), warehouseNames.size());
95
+    }
96
+}

+ 6
- 531446
target/PersonWarehouse.leonlog
文件差異過大導致無法顯示
查看文件


二進制
target/classes/com/zipcodewilmington/streams/anthropoid/PersonFactory.class 查看文件


二進制
target/classes/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.class 查看文件


+ 1
- 1
target/global.leonlog 查看文件

1
-May 31, 2017 1:43:01 PM com.zipcodewilmington.streams.tools.logging.LoggerHandler log
1
+May 31, 2017 3:56:30 PM com.zipcodewilmington.streams.tools.logging.LoggerHandler log
2
 INFO: Instantiating logger for [ com.zipcodewilmington.streams.anthropoid.PersonWarehouse ] ... 
2
 INFO: Instantiating logger for [ com.zipcodewilmington.streams.anthropoid.PersonWarehouse ] ...