ソースを参照

I Love Lambdas#

Jason Gibbs 6 年 前
コミット
2afa32d3cb

バイナリ
.DS_Store ファイルの表示


+ 22
- 0
.idea/ZCW-Lambdas.iml ファイルの表示

@@ -0,0 +1,22 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
3
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
4
+    <output url="file://$MODULE_DIR$/target/classes" />
5
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
6
+    <content url="file://$MODULE_DIR$">
7
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
8
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
9
+      <excludeFolder url="file://$MODULE_DIR$/target" />
10
+    </content>
11
+    <orderEntry type="inheritedJdk" />
12
+    <orderEntry type="sourceFolder" forTests="false" />
13
+    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
14
+    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
15
+    <orderEntry type="library" name="Maven: com.google.guava:guava:25.1-jre" level="project" />
16
+    <orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.2" level="project" />
17
+    <orderEntry type="library" name="Maven: org.checkerframework:checker-qual:2.0.0" level="project" />
18
+    <orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.1.3" level="project" />
19
+    <orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.1" level="project" />
20
+    <orderEntry type="library" name="Maven: org.codehaus.mojo:animal-sniffer-annotations:1.14" level="project" />
21
+  </component>
22
+</module>

+ 16
- 0
.idea/compiler.xml ファイルの表示

@@ -0,0 +1,16 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="CompilerConfiguration">
4
+    <annotationProcessing>
5
+      <profile name="Maven default annotation processors profile" enabled="true">
6
+        <sourceOutputDir name="target/generated-sources/annotations" />
7
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
8
+        <outputRelativeToContentRoot value="true" />
9
+        <module name="ZCW-Lambdas" />
10
+      </profile>
11
+    </annotationProcessing>
12
+    <bytecodeTargetLevel>
13
+      <module name="ZCW-Lambdas" target="8" />
14
+    </bytecodeTargetLevel>
15
+  </component>
16
+</project>

+ 13
- 0
.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml ファイルの表示

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

+ 13
- 0
.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_1_3.xml ファイルの表示

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

+ 13
- 0
.idea/libraries/Maven__com_google_guava_guava_25_1_jre.xml ファイルの表示

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

+ 13
- 0
.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_1.xml ファイルの表示

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

+ 13
- 0
.idea/libraries/Maven__junit_junit_4_12.xml ファイルの表示

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

+ 13
- 0
.idea/libraries/Maven__org_checkerframework_checker_qual_2_0_0.xml ファイルの表示

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

+ 13
- 0
.idea/libraries/Maven__org_codehaus_mojo_animal_sniffer_annotations_1_14.xml ファイルの表示

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

+ 13
- 0
.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml ファイルの表示

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

+ 11
- 0
.idea/misc.xml ファイルの表示

@@ -0,0 +1,11 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="MavenProjectsManager">
4
+    <option name="originalFiles">
5
+      <list>
6
+        <option value="$PROJECT_DIR$/pom.xml" />
7
+      </list>
8
+    </option>
9
+  </component>
10
+  <component name="ProjectRootManager" version="2" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
11
+</project>

+ 9
- 0
.idea/modules.xml ファイルの表示

@@ -0,0 +1,9 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="ProjectModuleManager">
4
+    <modules>
5
+      <module fileurl="file://$PROJECT_DIR$/Lambdas/Lambdas.iml" filepath="$PROJECT_DIR$/Lambdas/Lambdas.iml" />
6
+      <module fileurl="file://$PROJECT_DIR$/.idea/ZCW-Lambdas.iml" filepath="$PROJECT_DIR$/.idea/ZCW-Lambdas.iml" />
7
+    </modules>
8
+  </component>
9
+</project>

+ 6
- 0
.idea/vcs.xml ファイルの表示

@@ -0,0 +1,6 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="VcsDirectoryMappings">
4
+    <mapping directory="" vcs="Git" />
5
+  </component>
6
+</project>

+ 560
- 0
.idea/workspace.xml ファイルの表示

@@ -0,0 +1,560 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="ChangeListManager">
4
+    <list default="true" id="ad082dba-3e59-433f-8e15-d0e4903769bf" name="Default" comment="">
5
+      <change afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" />
6
+      <change afterPath="$PROJECT_DIR$/src/main/java/CheckPerson.java" afterDir="false" />
7
+      <change afterPath="$PROJECT_DIR$/src/main/java/Main.java" afterDir="false" />
8
+      <change afterPath="$PROJECT_DIR$/src/main/java/Members.java" afterDir="false" />
9
+    </list>
10
+    <ignored path="$PROJECT_DIR$/target/" />
11
+    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
12
+    <option name="TRACKING_ENABLED" value="true" />
13
+    <option name="SHOW_DIALOG" value="false" />
14
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
15
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
16
+    <option name="LAST_RESOLUTION" value="IGNORE" />
17
+  </component>
18
+  <component name="FileEditorManager">
19
+    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
20
+      <file leaf-file-name="workspace.xml" pinned="false" current-in-tab="false">
21
+        <entry file="file://$PROJECT_DIR$/.idea/workspace.xml">
22
+          <provider selected="true" editor-type-id="text-editor">
23
+            <state relative-caret-position="240">
24
+              <caret line="16" column="14" selection-start-line="16" selection-start-column="14" selection-end-line="16" selection-end-column="14" />
25
+            </state>
26
+          </provider>
27
+        </entry>
28
+      </file>
29
+      <file leaf-file-name="pom.xml" pinned="false" current-in-tab="false">
30
+        <entry file="file://$PROJECT_DIR$/pom.xml">
31
+          <provider selected="true" editor-type-id="text-editor">
32
+            <state relative-caret-position="15">
33
+              <caret line="1" column="5" selection-start-line="1" selection-start-column="5" selection-end-line="1" selection-end-column="5" />
34
+            </state>
35
+          </provider>
36
+        </entry>
37
+      </file>
38
+      <file leaf-file-name="Person.java" pinned="false" current-in-tab="false">
39
+        <entry file="file://$PROJECT_DIR$/src/main/java/Person.java">
40
+          <provider selected="true" editor-type-id="text-editor">
41
+            <state relative-caret-position="215">
42
+              <caret line="35" column="4" lean-forward="true" selection-start-line="35" selection-start-column="4" selection-end-line="35" selection-end-column="4" />
43
+            </state>
44
+          </provider>
45
+        </entry>
46
+      </file>
47
+      <file leaf-file-name="Main.java" pinned="false" current-in-tab="false">
48
+        <entry file="file://$PROJECT_DIR$/src/main/java/Main.java">
49
+          <provider selected="true" editor-type-id="text-editor">
50
+            <state relative-caret-position="202">
51
+              <caret line="15" lean-forward="true" selection-start-line="15" selection-end-line="15" />
52
+            </state>
53
+          </provider>
54
+        </entry>
55
+      </file>
56
+      <file leaf-file-name="CheckPerson.java" pinned="false" current-in-tab="false">
57
+        <entry file="file://$PROJECT_DIR$/src/main/java/CheckPerson.java">
58
+          <provider selected="true" editor-type-id="text-editor">
59
+            <state relative-caret-position="90">
60
+              <caret line="6" lean-forward="true" selection-start-line="6" selection-end-line="6" />
61
+            </state>
62
+          </provider>
63
+        </entry>
64
+      </file>
65
+      <file leaf-file-name="Members.java" pinned="false" current-in-tab="false">
66
+        <entry file="file://$PROJECT_DIR$/src/main/java/Members.java">
67
+          <provider selected="true" editor-type-id="text-editor">
68
+            <state relative-caret-position="315">
69
+              <caret line="21" lean-forward="true" selection-start-line="21" selection-end-line="21" />
70
+              <folding>
71
+                <element signature="imports" expanded="true" />
72
+              </folding>
73
+            </state>
74
+          </provider>
75
+        </entry>
76
+      </file>
77
+      <file leaf-file-name="PersonTest.java" pinned="false" current-in-tab="true">
78
+        <entry file="file://$PROJECT_DIR$/src/test/java/PersonTest.java">
79
+          <provider selected="true" editor-type-id="text-editor">
80
+            <state relative-caret-position="185">
81
+              <caret line="46" column="4" lean-forward="true" selection-start-line="46" selection-start-column="4" selection-end-line="46" selection-end-column="4" />
82
+              <folding>
83
+                <element signature="imports" expanded="true" />
84
+              </folding>
85
+            </state>
86
+          </provider>
87
+        </entry>
88
+      </file>
89
+    </leaf>
90
+  </component>
91
+  <component name="FileTemplateManagerImpl">
92
+    <option name="RECENT_TEMPLATES">
93
+      <list>
94
+        <option value="JUnit4 Test Class" />
95
+        <option value="Interface" />
96
+        <option value="Class" />
97
+      </list>
98
+    </option>
99
+  </component>
100
+  <component name="Git.Settings">
101
+    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
102
+  </component>
103
+  <component name="IdeDocumentHistory">
104
+    <option name="CHANGED_PATHS">
105
+      <list>
106
+        <option value="$PROJECT_DIR$/Lambdas/src/It.java" />
107
+        <option value="$PROJECT_DIR$/pom.xml" />
108
+        <option value="$PROJECT_DIR$/src/main/java/CheckPerson.java" />
109
+        <option value="$PROJECT_DIR$/src/main/java/Main.java" />
110
+        <option value="$PROJECT_DIR$/src/main/java/Members.java" />
111
+        <option value="$PROJECT_DIR$/src/main/java/Person.java" />
112
+        <option value="$PROJECT_DIR$/src/test/java/PersonTest.java" />
113
+      </list>
114
+    </option>
115
+  </component>
116
+  <component name="ProjectFrameBounds">
117
+    <option name="y" value="23" />
118
+    <option name="width" value="1280" />
119
+    <option name="height" value="716" />
120
+  </component>
121
+  <component name="ProjectView">
122
+    <navigator proportions="" version="1">
123
+      <foldersAlwaysOnTop value="true" />
124
+    </navigator>
125
+    <panes>
126
+      <pane id="Scope" />
127
+      <pane id="AndroidView" />
128
+      <pane id="ProjectPane">
129
+        <subPane>
130
+          <expand>
131
+            <path>
132
+              <item name="ZCW-Lambdas" type="b2602c69:ProjectViewProjectNode" />
133
+              <item name="ZCW-Lambdas" type="462c0819:PsiDirectoryNode" />
134
+            </path>
135
+            <path>
136
+              <item name="ZCW-Lambdas" type="b2602c69:ProjectViewProjectNode" />
137
+              <item name="ZCW-Lambdas" type="462c0819:PsiDirectoryNode" />
138
+              <item name="src" type="462c0819:PsiDirectoryNode" />
139
+            </path>
140
+            <path>
141
+              <item name="ZCW-Lambdas" type="b2602c69:ProjectViewProjectNode" />
142
+              <item name="ZCW-Lambdas" type="462c0819:PsiDirectoryNode" />
143
+              <item name="src" type="462c0819:PsiDirectoryNode" />
144
+              <item name="main" type="462c0819:PsiDirectoryNode" />
145
+            </path>
146
+            <path>
147
+              <item name="ZCW-Lambdas" type="b2602c69:ProjectViewProjectNode" />
148
+              <item name="ZCW-Lambdas" type="462c0819:PsiDirectoryNode" />
149
+              <item name="src" type="462c0819:PsiDirectoryNode" />
150
+              <item name="main" type="462c0819:PsiDirectoryNode" />
151
+              <item name="java" type="462c0819:PsiDirectoryNode" />
152
+            </path>
153
+          </expand>
154
+          <select />
155
+        </subPane>
156
+      </pane>
157
+      <pane id="PackagesPane" />
158
+    </panes>
159
+  </component>
160
+  <component name="PropertiesComponent">
161
+    <property name="Downloaded.Files.Path.Enabled" value="false" />
162
+    <property name="Repository.Attach.JavaDocs" value="false" />
163
+    <property name="Repository.Attach.Sources" value="false" />
164
+    <property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrary" value="JUnit4" />
165
+    <property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrarySuperClass.JUnit4" value="" />
166
+    <property name="jdk.selected.JAVA_MODULE" value="1.8" />
167
+    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
168
+    <property name="project.structure.last.edited" value="Modules" />
169
+    <property name="project.structure.proportion" value="0.15" />
170
+    <property name="project.structure.side.proportion" value="0.2" />
171
+  </component>
172
+  <component name="RecentsManager">
173
+    <key name="CreateTestDialog.RecentsKey">
174
+      <recent name="" />
175
+    </key>
176
+    <key name="CreateTestDialog.Recents.Supers">
177
+      <recent name="" />
178
+    </key>
179
+  </component>
180
+  <component name="RunDashboard">
181
+    <option name="ruleStates">
182
+      <list>
183
+        <RuleState>
184
+          <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
185
+        </RuleState>
186
+        <RuleState>
187
+          <option name="name" value="StatusDashboardGroupingRule" />
188
+        </RuleState>
189
+      </list>
190
+    </option>
191
+  </component>
192
+  <component name="RunManager" selected="JUnit.PersonTest.printPersonTest">
193
+    <configuration name="Main" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
194
+      <option name="MAIN_CLASS_NAME" value="Main" />
195
+      <module name="ZCW-Lambdas" />
196
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
197
+    </configuration>
198
+    <configuration default="true" type="Application" factoryName="Application">
199
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
200
+    </configuration>
201
+    <configuration name="PersonTest.personConstructorTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
202
+      <module name="ZCW-Lambdas" />
203
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
204
+      <option name="ALTERNATIVE_JRE_PATH" />
205
+      <option name="PACKAGE_NAME" value="" />
206
+      <option name="MAIN_CLASS_NAME" value="PersonTest" />
207
+      <option name="METHOD_NAME" value="personConstructorTest" />
208
+      <option name="TEST_OBJECT" value="method" />
209
+      <option name="VM_PARAMETERS" value="-ea" />
210
+      <option name="PARAMETERS" />
211
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
212
+      <option name="PASS_PARENT_ENVS" value="true" />
213
+      <option name="TEST_SEARCH_SCOPE">
214
+        <value defaultName="singleModule" />
215
+      </option>
216
+      <patterns />
217
+    </configuration>
218
+    <configuration name="PersonTest.printPersonTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
219
+      <module name="ZCW-Lambdas" />
220
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
221
+      <option name="ALTERNATIVE_JRE_PATH" />
222
+      <option name="PACKAGE_NAME" value="" />
223
+      <option name="MAIN_CLASS_NAME" value="PersonTest" />
224
+      <option name="METHOD_NAME" value="printPersonTest" />
225
+      <option name="TEST_OBJECT" value="method" />
226
+      <option name="VM_PARAMETERS" value="-ea" />
227
+      <option name="PARAMETERS" />
228
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
229
+      <option name="PASS_PARENT_ENVS" value="true" />
230
+      <option name="TEST_SEARCH_SCOPE">
231
+        <value defaultName="singleModule" />
232
+      </option>
233
+      <patterns />
234
+    </configuration>
235
+    <configuration name="PersonTest.setEmailAddress" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
236
+      <module name="ZCW-Lambdas" />
237
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
238
+      <option name="ALTERNATIVE_JRE_PATH" />
239
+      <option name="PACKAGE_NAME" value="" />
240
+      <option name="MAIN_CLASS_NAME" value="PersonTest" />
241
+      <option name="METHOD_NAME" value="setEmailAddress" />
242
+      <option name="TEST_OBJECT" value="method" />
243
+      <option name="VM_PARAMETERS" value="-ea" />
244
+      <option name="PARAMETERS" />
245
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
246
+      <option name="PASS_PARENT_ENVS" value="true" />
247
+      <option name="TEST_SEARCH_SCOPE">
248
+        <value defaultName="singleModule" />
249
+      </option>
250
+      <patterns />
251
+    </configuration>
252
+    <configuration name="PersonTest.setName" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
253
+      <module name="ZCW-Lambdas" />
254
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
255
+      <option name="ALTERNATIVE_JRE_PATH" />
256
+      <option name="PACKAGE_NAME" value="" />
257
+      <option name="MAIN_CLASS_NAME" value="PersonTest" />
258
+      <option name="METHOD_NAME" value="setName" />
259
+      <option name="TEST_OBJECT" value="method" />
260
+      <option name="VM_PARAMETERS" value="-ea" />
261
+      <option name="PARAMETERS" />
262
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
263
+      <option name="PASS_PARENT_ENVS" value="true" />
264
+      <option name="TEST_SEARCH_SCOPE">
265
+        <value defaultName="singleModule" />
266
+      </option>
267
+      <patterns />
268
+    </configuration>
269
+    <configuration default="true" type="JUnit" factoryName="JUnit">
270
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
271
+      <option name="ALTERNATIVE_JRE_PATH" />
272
+      <option name="PACKAGE_NAME" />
273
+      <option name="MAIN_CLASS_NAME" />
274
+      <option name="METHOD_NAME" />
275
+      <option name="TEST_OBJECT" value="class" />
276
+      <option name="VM_PARAMETERS" value="-ea" />
277
+      <option name="PARAMETERS" />
278
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
279
+      <option name="PASS_PARENT_ENVS" value="true" />
280
+      <option name="TEST_SEARCH_SCOPE">
281
+        <value defaultName="singleModule" />
282
+      </option>
283
+      <patterns />
284
+    </configuration>
285
+    <configuration default="true" type="TestNG" factoryName="TestNG">
286
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
287
+      <option name="ALTERNATIVE_JRE_PATH" />
288
+      <option name="SUITE_NAME" />
289
+      <option name="PACKAGE_NAME" />
290
+      <option name="MAIN_CLASS_NAME" />
291
+      <option name="METHOD_NAME" />
292
+      <option name="GROUP_NAME" />
293
+      <option name="TEST_OBJECT" value="CLASS" />
294
+      <option name="VM_PARAMETERS" value="-ea" />
295
+      <option name="PARAMETERS" />
296
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
297
+      <option name="OUTPUT_DIRECTORY" />
298
+      <option name="PASS_PARENT_ENVS" value="true" />
299
+      <option name="TEST_SEARCH_SCOPE">
300
+        <value defaultName="singleModule" />
301
+      </option>
302
+      <option name="USE_DEFAULT_REPORTERS" value="false" />
303
+      <option name="PROPERTIES_FILE" />
304
+      <properties />
305
+      <listeners />
306
+    </configuration>
307
+    <list>
308
+      <item itemvalue="JUnit.PersonTest.personConstructorTest" />
309
+      <item itemvalue="JUnit.PersonTest.setName" />
310
+      <item itemvalue="JUnit.PersonTest.setEmailAddress" />
311
+      <item itemvalue="Application.Main" />
312
+      <item itemvalue="JUnit.PersonTest.printPersonTest" />
313
+    </list>
314
+    <recent_temporary>
315
+      <list>
316
+        <item itemvalue="JUnit.PersonTest.printPersonTest" />
317
+        <item itemvalue="Application.Main" />
318
+        <item itemvalue="JUnit.PersonTest.setEmailAddress" />
319
+        <item itemvalue="JUnit.PersonTest.setName" />
320
+        <item itemvalue="JUnit.PersonTest.personConstructorTest" />
321
+      </list>
322
+    </recent_temporary>
323
+  </component>
324
+  <component name="SvnConfiguration">
325
+    <configuration />
326
+  </component>
327
+  <component name="TaskManager">
328
+    <task active="true" id="Default" summary="Default task">
329
+      <changelist id="ad082dba-3e59-433f-8e15-d0e4903769bf" name="Default" comment="" />
330
+      <created>1529435489881</created>
331
+      <option name="number" value="Default" />
332
+      <option name="presentableId" value="Default" />
333
+      <updated>1529435489881</updated>
334
+    </task>
335
+    <servers />
336
+  </component>
337
+  <component name="TestHistory">
338
+    <history-entry file="PersonTest_personConstructorTest - 2018.06.19 at 16h 11m 19s.xml">
339
+      <configuration name="PersonTest.personConstructorTest" configurationId="JUnit" />
340
+    </history-entry>
341
+    <history-entry file="PersonTest_personConstructorTest - 2018.06.19 at 17h 50m 19s.xml">
342
+      <configuration name="PersonTest.personConstructorTest" configurationId="JUnit" />
343
+    </history-entry>
344
+    <history-entry file="PersonTest_getGender - 2018.06.19 at 18h 27m 38s.xml">
345
+      <configuration name="PersonTest.getGender" configurationId="JUnit" />
346
+    </history-entry>
347
+    <history-entry file="PersonTest_personConstructorTest - 2018.06.19 at 18h 34m 57s.xml">
348
+      <configuration name="PersonTest.personConstructorTest" configurationId="JUnit" />
349
+    </history-entry>
350
+    <history-entry file="PersonTest_setName - 2018.06.19 at 18h 38m 13s.xml">
351
+      <configuration name="PersonTest.setName" configurationId="JUnit" />
352
+    </history-entry>
353
+    <history-entry file="PersonTest_setEmailAddress - 2018.06.19 at 18h 52m 10s.xml">
354
+      <configuration name="PersonTest.setEmailAddress" configurationId="JUnit" />
355
+    </history-entry>
356
+  </component>
357
+  <component name="ToolWindowManager">
358
+    <frame x="0" y="23" width="1280" height="716" extended-state="0" />
359
+    <editor active="true" />
360
+    <layout>
361
+      <window_info anchor="right" id="Palette" order="3" />
362
+      <window_info anchor="bottom" id="TODO" order="6" />
363
+      <window_info anchor="bottom" id="Messages" weight="0.32956383" />
364
+      <window_info anchor="right" id="Palette&#9;" order="3" />
365
+      <window_info id="Image Layers" order="2" />
366
+      <window_info anchor="right" id="Capture Analysis" order="3" />
367
+      <window_info anchor="bottom" id="Event Log" order="7" side_tool="true" />
368
+      <window_info anchor="right" id="Maven Projects" order="3" />
369
+      <window_info active="true" anchor="bottom" id="Run" order="2" visible="true" weight="0.33441034" />
370
+      <window_info anchor="bottom" id="Version Control" order="7" />
371
+      <window_info anchor="bottom" id="Terminal" order="7" />
372
+      <window_info id="Capture Tool" order="2" />
373
+      <window_info id="Designer" order="2" />
374
+      <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.25767368" />
375
+      <window_info anchor="bottom" id="Find" order="1" />
376
+      <window_info id="Learn" order="2" />
377
+      <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
378
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
379
+      <window_info id="UI Designer" order="2" />
380
+      <window_info anchor="right" id="Theme Preview" order="3" />
381
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
382
+      <window_info id="Favorites" order="2" side_tool="true" />
383
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
384
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
385
+      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
386
+      <window_info anchor="bottom" id="Message" order="0" />
387
+      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
388
+    </layout>
389
+  </component>
390
+  <component name="VcsContentAnnotationSettings">
391
+    <option name="myLimit" value="2678400000" />
392
+  </component>
393
+  <component name="editorHistoryManager">
394
+    <entry file="file://$PROJECT_DIR$/.idea/workspace.xml">
395
+      <provider selected="true" editor-type-id="text-editor">
396
+        <state relative-caret-position="180">
397
+          <caret line="12" column="14" selection-start-line="12" selection-start-column="14" selection-end-line="12" selection-end-column="14" />
398
+        </state>
399
+      </provider>
400
+    </entry>
401
+    <entry file="file://$PROJECT_DIR$/pom.xml">
402
+      <provider selected="true" editor-type-id="text-editor" />
403
+    </entry>
404
+    <entry file="file://$PROJECT_DIR$/.idea/workspace.xml">
405
+      <provider selected="true" editor-type-id="text-editor">
406
+        <state relative-caret-position="180">
407
+          <caret line="12" column="14" lean-forward="true" selection-start-line="12" selection-start-column="14" selection-end-line="12" selection-end-column="14" />
408
+        </state>
409
+      </provider>
410
+    </entry>
411
+    <entry file="file://$PROJECT_DIR$/pom.xml">
412
+      <provider selected="true" editor-type-id="text-editor" />
413
+    </entry>
414
+    <entry file="file://$PROJECT_DIR$/Lambdas/src/It.java" />
415
+    <entry file="file://$PROJECT_DIR$/.idea/pom" />
416
+    <entry file="file://$PROJECT_DIR$/.idea/workspace.xml">
417
+      <provider selected="true" editor-type-id="text-editor">
418
+        <state relative-caret-position="240">
419
+          <caret line="16" column="14" selection-start-line="16" selection-start-column="14" selection-end-line="16" selection-end-column="14" />
420
+        </state>
421
+      </provider>
422
+    </entry>
423
+    <entry file="file://$PROJECT_DIR$/pom.xml">
424
+      <provider selected="true" editor-type-id="text-editor">
425
+        <state relative-caret-position="15">
426
+          <caret line="1" column="5" selection-start-line="1" selection-start-column="5" selection-end-line="1" selection-end-column="5" />
427
+        </state>
428
+      </provider>
429
+    </entry>
430
+    <entry file="file://$PROJECT_DIR$/src/main/java/CheckPerson.java">
431
+      <provider selected="true" editor-type-id="text-editor">
432
+        <state relative-caret-position="90">
433
+          <caret line="6" lean-forward="true" selection-start-line="6" selection-end-line="6" />
434
+        </state>
435
+      </provider>
436
+    </entry>
437
+    <entry file="file://$PROJECT_DIR$/src/main/java/Main.java">
438
+      <provider selected="true" editor-type-id="text-editor">
439
+        <state relative-caret-position="202">
440
+          <caret line="15" lean-forward="true" selection-start-line="15" selection-end-line="15" />
441
+        </state>
442
+      </provider>
443
+    </entry>
444
+    <entry file="file://$PROJECT_DIR$/src/main/java/Members.java">
445
+      <provider selected="true" editor-type-id="text-editor">
446
+        <state relative-caret-position="315">
447
+          <caret line="21" lean-forward="true" selection-start-line="21" selection-end-line="21" />
448
+          <folding>
449
+            <element signature="imports" expanded="true" />
450
+          </folding>
451
+        </state>
452
+      </provider>
453
+    </entry>
454
+    <entry file="file://$PROJECT_DIR$/src/main/java/Person.java">
455
+      <provider selected="true" editor-type-id="text-editor">
456
+        <state relative-caret-position="215">
457
+          <caret line="35" column="4" lean-forward="true" selection-start-line="35" selection-start-column="4" selection-end-line="35" selection-end-column="4" />
458
+        </state>
459
+      </provider>
460
+    </entry>
461
+    <entry file="file://$PROJECT_DIR$/src/test/java/PersonTest.java">
462
+      <provider selected="true" editor-type-id="text-editor">
463
+        <state relative-caret-position="185">
464
+          <caret line="46" column="4" lean-forward="true" selection-start-line="46" selection-start-column="4" selection-end-line="46" selection-end-column="4" />
465
+          <folding>
466
+            <element signature="imports" expanded="true" />
467
+          </folding>
468
+        </state>
469
+      </provider>
470
+    </entry>
471
+  </component>
472
+  <component name="masterDetails">
473
+    <states>
474
+      <state key="ArtifactsStructureConfigurable.UI">
475
+        <settings>
476
+          <artifact-editor />
477
+          <splitter-proportions>
478
+            <option name="proportions">
479
+              <list>
480
+                <option value="0.2" />
481
+              </list>
482
+            </option>
483
+          </splitter-proportions>
484
+        </settings>
485
+      </state>
486
+      <state key="FacetStructureConfigurable.UI">
487
+        <settings>
488
+          <last-edited>No facets are configured</last-edited>
489
+          <splitter-proportions>
490
+            <option name="proportions">
491
+              <list>
492
+                <option value="0.2" />
493
+              </list>
494
+            </option>
495
+          </splitter-proportions>
496
+        </settings>
497
+      </state>
498
+      <state key="GlobalLibrariesConfigurable.UI">
499
+        <settings>
500
+          <splitter-proportions>
501
+            <option name="proportions">
502
+              <list>
503
+                <option value="0.2" />
504
+              </list>
505
+            </option>
506
+          </splitter-proportions>
507
+        </settings>
508
+      </state>
509
+      <state key="JdkListConfigurable.UI">
510
+        <settings>
511
+          <last-edited>1.8</last-edited>
512
+          <splitter-proportions>
513
+            <option name="proportions">
514
+              <list>
515
+                <option value="0.2" />
516
+              </list>
517
+            </option>
518
+          </splitter-proportions>
519
+        </settings>
520
+      </state>
521
+      <state key="ModuleStructureConfigurable.UI">
522
+        <settings>
523
+          <last-edited>ZCW-Lambdas</last-edited>
524
+          <splitter-proportions>
525
+            <option name="proportions">
526
+              <list>
527
+                <option value="0.2" />
528
+                <option value="0.6" />
529
+              </list>
530
+            </option>
531
+          </splitter-proportions>
532
+        </settings>
533
+      </state>
534
+      <state key="ProjectJDKs.UI">
535
+        <settings>
536
+          <last-edited>1.8</last-edited>
537
+          <splitter-proportions>
538
+            <option name="proportions">
539
+              <list>
540
+                <option value="0.2" />
541
+              </list>
542
+            </option>
543
+          </splitter-proportions>
544
+        </settings>
545
+      </state>
546
+      <state key="ProjectLibrariesConfigurable.UI">
547
+        <settings>
548
+          <last-edited>Maven: com.google.code.findbugs:jsr305:3.0.2</last-edited>
549
+          <splitter-proportions>
550
+            <option name="proportions">
551
+              <list>
552
+                <option value="0.2" />
553
+              </list>
554
+            </option>
555
+          </splitter-proportions>
556
+        </settings>
557
+      </state>
558
+    </states>
559
+  </component>
560
+</project>

+ 37
- 0
pom.xml ファイルの表示

@@ -0,0 +1,37 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project xmlns="http://maven.apache.org/POM/4.0.0"
3
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5
+    <modelVersion>4.0.0</modelVersion>
6
+
7
+    <groupId>com.zipcoder</groupId>
8
+    <artifactId>payment</artifactId>
9
+    <version>1.0-SNAPSHOT</version>
10
+    <build>
11
+        <plugins>
12
+            <plugin>
13
+                <groupId>org.apache.maven.plugins</groupId>
14
+                <artifactId>maven-compiler-plugin</artifactId>
15
+                <configuration>
16
+                    <source>8</source>
17
+                    <target>8</target>
18
+                </configuration>
19
+            </plugin>
20
+        </plugins>
21
+    </build>
22
+
23
+    <dependencies>
24
+        <dependency>
25
+            <groupId>junit</groupId>
26
+            <artifactId>junit</artifactId>
27
+            <version>4.12</version>
28
+            <scope>test</scope>
29
+        </dependency>
30
+        <dependency>
31
+            <groupId>com.google.guava</groupId>
32
+            <artifactId>guava</artifactId>
33
+            <version>25.1-jre</version>
34
+        </dependency>
35
+    </dependencies>
36
+
37
+</project>

+ 6
- 0
src/main/java/CheckPerson.java ファイルの表示

@@ -0,0 +1,6 @@
1
+
2
+@FunctionalInterface
3
+public interface CheckPerson {
4
+
5
+    boolean test(Person p);
6
+}

+ 40
- 0
src/main/java/Main.java ファイルの表示

@@ -0,0 +1,40 @@
1
+import java.time.LocalDate;
2
+
3
+public class Main {
4
+
5
+    public static void main(String[] args) {
6
+
7
+        LocalDate birthday1 = LocalDate.of(1987, 11, 8);
8
+        Person person1 = new Person(Person.Sex.MALE, "Jason", birthday1, "JT@yahoo.com");
9
+        LocalDate birthday2 = LocalDate.of(1995, 2, 28);
10
+        Person person2 = new Person(Person.Sex.FEMALE, "Jennifer", birthday2, "Jenn@yahoo.com");
11
+        LocalDate birthday3= LocalDate.of(1980, 7, 1);
12
+        Person person3 = new Person(Person.Sex.MALE, "Paul", birthday3, "PMoney@Gmail.com");
13
+        LocalDate birthday4 = LocalDate.of(1993, 9, 15);
14
+        Person person4 = new Person(Person.Sex.MALE, "Terry", birthday4, "TT@yahoo.com");
15
+        Members myCrew = new Members();
16
+
17
+        myCrew.addPerson(person1);
18
+        myCrew.addPerson(person2);
19
+        myCrew.addPerson(person3);
20
+        myCrew.addPerson(person4);
21
+
22
+        Members.printPersons(myCrew.memberList, p -> p.getGender() == Person.Sex.MALE);
23
+        System.out.println();
24
+        Members.printPersons(myCrew.memberList, p -> p.getName().contains("J"));
25
+        System.out.println();
26
+
27
+        LocalDate birthday5 = LocalDate.of(1989, 5, 23);
28
+        Person person5 = new Person(Person.Sex.FEMALE, "Anette", birthday5, "Nettie@gmail.com");
29
+
30
+        myCrew.addPerson(person5);
31
+
32
+        Members.printPersons(myCrew.memberList, p -> p.getGender() == Person.Sex.FEMALE
33
+                && p.getBirthday().getYear() < 1990);
34
+        System.out.println();
35
+        Members.printPersons(myCrew.memberList, p -> p.getAge() > 25);
36
+
37
+
38
+
39
+    }
40
+}

+ 25
- 0
src/main/java/Members.java ファイルの表示

@@ -0,0 +1,25 @@
1
+
2
+import java.util.ArrayList;
3
+import java.util.List;
4
+//import java.util.ArrayList;
5
+
6
+public class Members {
7
+
8
+    List<Person> memberList;
9
+
10
+    public Members() { memberList = new ArrayList<>(); }
11
+
12
+    public void addPerson(Person person) { memberList.add(person); }
13
+
14
+    public boolean removePerson(Person person) { return memberList.remove(person); }
15
+
16
+    public static void printPersons(List<Person> memberList, CheckPerson tester) {
17
+        memberList.forEach(person -> { if(tester.test(person))
18
+            person.printPerson(); });
19
+    }
20
+
21
+
22
+
23
+}
24
+
25
+

+ 39
- 0
src/main/java/Person.java ファイルの表示

@@ -0,0 +1,39 @@
1
+import java.time.LocalDate;
2
+
3
+public class Person {
4
+
5
+    public enum Sex {
6
+        MALE, FEMALE
7
+    }
8
+
9
+    private Sex gender;
10
+    private String name;
11
+    private LocalDate birthday;
12
+    private String emailAddress;
13
+
14
+    public Person(Sex gender, String name, LocalDate birthday, String emailAddress) {
15
+        this.gender = gender;
16
+        this.name = name;
17
+        this.birthday = birthday;
18
+        this.emailAddress = emailAddress;
19
+    }
20
+
21
+    public Sex getGender() { return gender; }
22
+
23
+    public void setName(String name) { this.name = name; }
24
+
25
+    public String getName() { return name; }
26
+
27
+    public LocalDate getBirthday() { return birthday; }
28
+
29
+    public int getAge() { return LocalDate.now().getYear() - birthday.getYear(); }
30
+
31
+    public void setEmailAddress(String emailAddress) { this.emailAddress = emailAddress; }
32
+
33
+    public String getEmailAddress() { return emailAddress; }
34
+
35
+    public void printPerson() { System.out.println(this.name + " " + this.emailAddress);
36
+
37
+    }
38
+
39
+}

+ 55
- 0
src/test/java/PersonTest.java ファイルの表示

@@ -0,0 +1,55 @@
1
+import org.junit.Before;
2
+import org.junit.Test;
3
+
4
+import java.time.LocalDate;
5
+import static org.junit.Assert.*;
6
+
7
+public class PersonTest {
8
+
9
+    Person person;
10
+    LocalDate birthday;
11
+
12
+    @Before
13
+    public void setUp() {
14
+        birthday = LocalDate.of(1987, 11, 8);
15
+        person = new Person(Person.Sex.MALE, "Jason", birthday, "JT@yahoo.com");
16
+    }
17
+
18
+    @Test
19
+    public void personConstructorTest() {
20
+        String expected = "Jason";
21
+        String actual = person.getName();
22
+        assertEquals(expected, actual);
23
+    }
24
+
25
+    @Test
26
+    public void getGenderTest() {
27
+        LocalDate birthday = LocalDate.of(1987, 11, 8);
28
+        Person person = new Person(Person.Sex.MALE, "Jason", birthday, "JT@yahoo.com");
29
+        Person.Sex expected = Person.Sex.MALE;
30
+        Person.Sex actual = person.getGender();
31
+    }
32
+
33
+    @Test
34
+    public void setNameTest() {
35
+        String expected = "Jason";
36
+        person.setName("Jason");
37
+        String actual = person.getName();
38
+    }
39
+
40
+    @Test
41
+    public void setEmailAddressTest() {
42
+        String expected = "TH@gmail";
43
+        person.setEmailAddress("TH@gmail");
44
+        String actual = person.getEmailAddress();
45
+        assertEquals(expected, actual);
46
+    }
47
+
48
+    @Test
49
+    public void printPersonTest() {
50
+        String expected = "Jason JT@yahoo.com";
51
+        //person.printPerson();
52
+        String actual = person.getName() + " " + person.getEmailAddress();
53
+        assertEquals(expected, actual);
54
+    }
55
+}

バイナリ
target/classes/CheckPerson.class ファイルの表示


バイナリ
target/classes/Main.class ファイルの表示


バイナリ
target/classes/Members.class ファイルの表示


バイナリ
target/classes/Person$Sex.class ファイルの表示


バイナリ
target/classes/Person.class ファイルの表示


バイナリ
target/test-classes/PersonTest.class ファイルの表示