소스 검색

{progressing through up to part 6 for now}

Jacqueline Joson 6 년 전
부모
커밋
a8c7a7a360

+ 1
- 0
.idea/.name 파일 보기

@@ -0,0 +1 @@
1
+interfaces-1

+ 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="interfaces-1" />
10
+      </profile>
11
+    </annotationProcessing>
12
+    <bytecodeTargetLevel>
13
+      <module name="interfaces-1" target="8" />
14
+    </bytecodeTargetLevel>
15
+  </component>
16
+</project>

+ 6
- 0
.idea/encodings.xml 파일 보기

@@ -0,0 +1,6 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="Encoding">
4
+    <file url="file://$PROJECT_DIR$" charset="UTF-8" />
5
+  </component>
6
+</project>

+ 13
- 0
.idea/libraries/Maven__junit_junit_4_12.xml 파일 보기

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

+ 13
- 0
.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml 파일 보기

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

+ 13
- 0
.idea/misc.xml 파일 보기

@@ -0,0 +1,13 @@
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" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
11
+    <output url="file://$PROJECT_DIR$/classes" />
12
+  </component>
13
+</project>

+ 8
- 0
.idea/modules.xml 파일 보기

@@ -0,0 +1,8 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="ProjectModuleManager">
4
+    <modules>
5
+      <module fileurl="file://$PROJECT_DIR$/interfaces-1.iml" filepath="$PROJECT_DIR$/interfaces-1.iml" />
6
+    </modules>
7
+  </component>
8
+</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="$PROJECT_DIR$" vcs="Git" />
5
+  </component>
6
+</project>

+ 682
- 0
.idea/workspace.xml 파일 보기

@@ -0,0 +1,682 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="ChangeListManager">
4
+    <list default="true" id="1691c4d3-c1b9-43dc-9250-95c93a250ec9" name="Default Changelist" comment="">
5
+      <change beforePath="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Person.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Person.java" afterDir="false" />
6
+      <change beforePath="$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestPerson.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestPerson.java" afterDir="false" />
7
+    </list>
8
+    <ignored path="$PROJECT_DIR$/target/" />
9
+    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
10
+    <option name="SHOW_DIALOG" value="false" />
11
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
12
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
13
+    <option name="LAST_RESOLUTION" value="IGNORE" />
14
+  </component>
15
+  <component name="FUSProjectUsageTrigger">
16
+    <session id="-1952372258">
17
+      <usages-collector id="statistics.lifecycle.project">
18
+        <counts>
19
+          <entry key="project.open.time.0" value="1" />
20
+          <entry key="project.opened" value="1" />
21
+        </counts>
22
+      </usages-collector>
23
+      <usages-collector id="statistics.file.extensions.open">
24
+        <counts>
25
+          <entry key="java" value="12" />
26
+          <entry key="md" value="1" />
27
+          <entry key="project" value="1" />
28
+          <entry key="xml" value="1" />
29
+        </counts>
30
+      </usages-collector>
31
+      <usages-collector id="statistics.file.types.open">
32
+        <counts>
33
+          <entry key="Eclipse" value="1" />
34
+          <entry key="JAVA" value="12" />
35
+          <entry key="Markdown" value="1" />
36
+          <entry key="XML" value="1" />
37
+        </counts>
38
+      </usages-collector>
39
+      <usages-collector id="statistics.file.extensions.edit">
40
+        <counts>
41
+          <entry key="java" value="2090" />
42
+        </counts>
43
+      </usages-collector>
44
+      <usages-collector id="statistics.file.types.edit">
45
+        <counts>
46
+          <entry key="JAVA" value="2090" />
47
+        </counts>
48
+      </usages-collector>
49
+    </session>
50
+  </component>
51
+  <component name="FileEditorManager">
52
+    <leaf>
53
+      <file pinned="false" current-in-tab="false">
54
+        <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Person.java">
55
+          <provider selected="true" editor-type-id="text-editor">
56
+            <state relative-caret-position="205">
57
+              <caret line="28" column="19" lean-forward="true" selection-start-line="28" selection-start-column="19" selection-end-line="28" selection-end-column="19" />
58
+              <folding>
59
+                <element signature="e#147#148#0" expanded="true" />
60
+                <element signature="e#169#170#0" expanded="true" />
61
+                <element signature="e#105#106#0" expanded="true" />
62
+                <element signature="e#133#134#0" expanded="true" />
63
+                <element signature="e#149#150#0" expanded="true" />
64
+                <element signature="e#182#183#0" expanded="true" />
65
+                <element signature="e#372#373#0" expanded="true" />
66
+                <element signature="e#399#400#0" expanded="true" />
67
+                <element signature="e#487#488#0" expanded="true" />
68
+                <element signature="e#519#520#0" expanded="true" />
69
+              </folding>
70
+            </state>
71
+          </provider>
72
+        </entry>
73
+      </file>
74
+      <file pinned="false" current-in-tab="false">
75
+        <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Learner.java">
76
+          <provider selected="true" editor-type-id="text-editor">
77
+            <state relative-caret-position="34">
78
+              <caret line="2" column="17" selection-start-line="2" selection-start-column="17" selection-end-line="2" selection-end-column="17" />
79
+            </state>
80
+          </provider>
81
+        </entry>
82
+      </file>
83
+      <file pinned="false" current-in-tab="false">
84
+        <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Student.java">
85
+          <provider selected="true" editor-type-id="text-editor">
86
+            <state relative-caret-position="34">
87
+              <caret line="2" column="18" selection-start-line="2" selection-start-column="18" selection-end-line="2" selection-end-column="18" />
88
+              <folding>
89
+                <element signature="e#117#118#0" expanded="true" />
90
+                <element signature="e#142#143#0" expanded="true" />
91
+                <element signature="e#239#240#0" expanded="true" />
92
+                <element signature="e#271#272#0" expanded="true" />
93
+                <element signature="e#331#332#0" expanded="true" />
94
+                <element signature="e#361#362#0" expanded="true" />
95
+              </folding>
96
+            </state>
97
+          </provider>
98
+        </entry>
99
+      </file>
100
+      <file pinned="false" current-in-tab="false">
101
+        <entry file="file://$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestStudent.java">
102
+          <provider selected="true" editor-type-id="text-editor">
103
+            <state relative-caret-position="561">
104
+              <caret line="34" column="30" selection-start-line="34" selection-start-column="30" selection-end-line="34" selection-end-column="30" />
105
+            </state>
106
+          </provider>
107
+        </entry>
108
+      </file>
109
+      <file pinned="false" current-in-tab="false">
110
+        <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Teacher.java">
111
+          <provider selected="true" editor-type-id="text-editor">
112
+            <state relative-caret-position="136">
113
+              <caret line="8" lean-forward="true" selection-start-line="8" selection-end-line="8" />
114
+            </state>
115
+          </provider>
116
+        </entry>
117
+      </file>
118
+      <file pinned="false" current-in-tab="false">
119
+        <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Instructor.java">
120
+          <provider selected="true" editor-type-id="text-editor">
121
+            <state relative-caret-position="340">
122
+              <caret line="20" selection-start-line="20" selection-end-line="20" />
123
+              <folding>
124
+                <element signature="e#124#125#0" expanded="true" />
125
+                <element signature="e#149#150#0" expanded="true" />
126
+                <element signature="e#227#228#0" expanded="true" />
127
+                <element signature="e#249#250#0" expanded="true" />
128
+              </folding>
129
+            </state>
130
+          </provider>
131
+        </entry>
132
+      </file>
133
+      <file pinned="false" current-in-tab="true">
134
+        <entry file="file://$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestInstructor.java">
135
+          <provider selected="true" editor-type-id="text-editor">
136
+            <state relative-caret-position="437">
137
+              <caret line="49" column="8" selection-start-line="49" selection-start-column="8" selection-end-line="49" selection-end-column="8" />
138
+              <folding>
139
+                <element signature="imports" expanded="true" />
140
+              </folding>
141
+            </state>
142
+          </provider>
143
+        </entry>
144
+      </file>
145
+      <file pinned="false" current-in-tab="false">
146
+        <entry file="file://$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestPerson.java">
147
+          <provider selected="true" editor-type-id="text-editor">
148
+            <state relative-caret-position="493">
149
+              <caret line="29" column="53" selection-start-line="29" selection-start-column="53" selection-end-line="29" selection-end-column="53" />
150
+              <folding>
151
+                <element signature="imports" expanded="true" />
152
+              </folding>
153
+            </state>
154
+          </provider>
155
+        </entry>
156
+      </file>
157
+    </leaf>
158
+  </component>
159
+  <component name="FileTemplateManagerImpl">
160
+    <option name="RECENT_TEMPLATES">
161
+      <list>
162
+        <option value="Interface" />
163
+        <option value="Class" />
164
+        <option value="JUnit4 Test Class" />
165
+      </list>
166
+    </option>
167
+  </component>
168
+  <component name="Git.Settings">
169
+    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
170
+  </component>
171
+  <component name="IdeDocumentHistory">
172
+    <option name="CHANGED_PATHS">
173
+      <list>
174
+        <option value="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Person.java" />
175
+        <option value="$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestPerson.java" />
176
+        <option value="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Learner.java" />
177
+        <option value="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Student.java" />
178
+        <option value="$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/StudentTest.java" />
179
+        <option value="$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestStudent.java" />
180
+        <option value="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Teacher.java" />
181
+        <option value="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Instructor.java" />
182
+        <option value="$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestInstructor.java" />
183
+      </list>
184
+    </option>
185
+  </component>
186
+  <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
187
+  <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
188
+  <component name="JsGulpfileManager">
189
+    <detection-done>true</detection-done>
190
+    <sorting>DEFINITION_ORDER</sorting>
191
+  </component>
192
+  <component name="ProjectFrameBounds" fullScreen="true">
193
+    <option name="x" value="42" />
194
+    <option name="y" value="23" />
195
+    <option name="width" value="1286" />
196
+    <option name="height" value="712" />
197
+  </component>
198
+  <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
199
+  <component name="ProjectView">
200
+    <navigator proportions="" version="1">
201
+      <foldersAlwaysOnTop value="true" />
202
+    </navigator>
203
+    <panes>
204
+      <pane id="Scope" />
205
+      <pane id="ProjectPane">
206
+        <subPane>
207
+          <expand>
208
+            <path>
209
+              <item name="interfaces-1" type="b2602c69:ProjectViewProjectNode" />
210
+              <item name="CR-MacroLabs-OOP-InstructorStudentClassroom" type="462c0819:PsiDirectoryNode" />
211
+            </path>
212
+            <path>
213
+              <item name="interfaces-1" type="b2602c69:ProjectViewProjectNode" />
214
+              <item name="CR-MacroLabs-OOP-InstructorStudentClassroom" type="462c0819:PsiDirectoryNode" />
215
+              <item name="src" type="462c0819:PsiDirectoryNode" />
216
+            </path>
217
+            <path>
218
+              <item name="interfaces-1" type="b2602c69:ProjectViewProjectNode" />
219
+              <item name="CR-MacroLabs-OOP-InstructorStudentClassroom" type="462c0819:PsiDirectoryNode" />
220
+              <item name="src" type="462c0819:PsiDirectoryNode" />
221
+              <item name="main" type="462c0819:PsiDirectoryNode" />
222
+            </path>
223
+            <path>
224
+              <item name="interfaces-1" type="b2602c69:ProjectViewProjectNode" />
225
+              <item name="CR-MacroLabs-OOP-InstructorStudentClassroom" type="462c0819:PsiDirectoryNode" />
226
+              <item name="src" type="462c0819:PsiDirectoryNode" />
227
+              <item name="main" type="462c0819:PsiDirectoryNode" />
228
+              <item name="java" type="462c0819:PsiDirectoryNode" />
229
+            </path>
230
+            <path>
231
+              <item name="interfaces-1" type="b2602c69:ProjectViewProjectNode" />
232
+              <item name="CR-MacroLabs-OOP-InstructorStudentClassroom" type="462c0819:PsiDirectoryNode" />
233
+              <item name="src" type="462c0819:PsiDirectoryNode" />
234
+              <item name="main" type="462c0819:PsiDirectoryNode" />
235
+              <item name="java" type="462c0819:PsiDirectoryNode" />
236
+              <item name="interfaces" type="462c0819:PsiDirectoryNode" />
237
+            </path>
238
+            <path>
239
+              <item name="interfaces-1" type="b2602c69:ProjectViewProjectNode" />
240
+              <item name="CR-MacroLabs-OOP-InstructorStudentClassroom" type="462c0819:PsiDirectoryNode" />
241
+              <item name="src" type="462c0819:PsiDirectoryNode" />
242
+              <item name="test" type="462c0819:PsiDirectoryNode" />
243
+            </path>
244
+            <path>
245
+              <item name="interfaces-1" type="b2602c69:ProjectViewProjectNode" />
246
+              <item name="CR-MacroLabs-OOP-InstructorStudentClassroom" type="462c0819:PsiDirectoryNode" />
247
+              <item name="src" type="462c0819:PsiDirectoryNode" />
248
+              <item name="test" type="462c0819:PsiDirectoryNode" />
249
+              <item name="java" type="462c0819:PsiDirectoryNode" />
250
+            </path>
251
+            <path>
252
+              <item name="interfaces-1" type="b2602c69:ProjectViewProjectNode" />
253
+              <item name="CR-MacroLabs-OOP-InstructorStudentClassroom" type="462c0819:PsiDirectoryNode" />
254
+              <item name="src" type="462c0819:PsiDirectoryNode" />
255
+              <item name="test" type="462c0819:PsiDirectoryNode" />
256
+              <item name="java" type="462c0819:PsiDirectoryNode" />
257
+              <item name="interfaces" type="462c0819:PsiDirectoryNode" />
258
+            </path>
259
+          </expand>
260
+          <select />
261
+        </subPane>
262
+      </pane>
263
+      <pane id="PackagesPane" />
264
+    </panes>
265
+  </component>
266
+  <component name="PropertiesComponent">
267
+    <property name="WebServerToolWindowFactoryState" value="false" />
268
+    <property name="aspect.path.notification.shown" value="true" />
269
+    <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1541958646110" />
270
+    <property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrary" value="JUnit4" />
271
+    <property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrarySuperClass.JUnit4" value="" />
272
+    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
273
+    <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
274
+    <property name="nodejs_npm_path_reset_for_default_project" value="true" />
275
+    <property name="project.structure.last.edited" value="SDKs" />
276
+    <property name="project.structure.proportion" value="0.15" />
277
+    <property name="project.structure.side.proportion" value="0.2" />
278
+    <property name="settings.editor.selected.configurable" value="reference.projectsettings.compiler.javacompiler" />
279
+  </component>
280
+  <component name="RecentsManager">
281
+    <key name="CreateTestDialog.RecentsKey">
282
+      <recent name="io.zipcoder.interfaces" />
283
+    </key>
284
+    <key name="ExtractSuperBase.RECENT_KEYS">
285
+      <recent name="io.zipcoder.interfaces" />
286
+    </key>
287
+    <key name="CreateTestDialog.Recents.Supers">
288
+      <recent name="" />
289
+    </key>
290
+    <key name="CreateClassDialog.RecentsKey">
291
+      <recent name="io.zipcoder.interfaces" />
292
+    </key>
293
+  </component>
294
+  <component name="RunDashboard">
295
+    <option name="ruleStates">
296
+      <list>
297
+        <RuleState>
298
+          <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
299
+        </RuleState>
300
+        <RuleState>
301
+          <option name="name" value="StatusDashboardGroupingRule" />
302
+        </RuleState>
303
+      </list>
304
+    </option>
305
+  </component>
306
+  <component name="RunManager" selected="JUnit.TestInstructor.lectureTest">
307
+    <configuration name="TestInstructor.implementationTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
308
+      <module name="interfaces-1" />
309
+      <extension name="coverage">
310
+        <pattern>
311
+          <option name="PATTERN" value="io.zipcoder.interfaces.*" />
312
+          <option name="ENABLED" value="true" />
313
+        </pattern>
314
+      </extension>
315
+      <option name="PACKAGE_NAME" value="io.zipcoder.interfaces" />
316
+      <option name="MAIN_CLASS_NAME" value="io.zipcoder.interfaces.TestInstructor" />
317
+      <option name="METHOD_NAME" value="implementationTest" />
318
+      <option name="TEST_OBJECT" value="method" />
319
+      <method v="2">
320
+        <option name="Make" enabled="true" />
321
+      </method>
322
+    </configuration>
323
+    <configuration name="TestInstructor.lectureTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
324
+      <module name="interfaces-1" />
325
+      <extension name="coverage">
326
+        <pattern>
327
+          <option name="PATTERN" value="io.zipcoder.interfaces.*" />
328
+          <option name="ENABLED" value="true" />
329
+        </pattern>
330
+      </extension>
331
+      <option name="PACKAGE_NAME" value="io.zipcoder.interfaces" />
332
+      <option name="MAIN_CLASS_NAME" value="io.zipcoder.interfaces.TestInstructor" />
333
+      <option name="METHOD_NAME" value="lectureTest" />
334
+      <option name="TEST_OBJECT" value="method" />
335
+      <method v="2">
336
+        <option name="Make" enabled="true" />
337
+      </method>
338
+    </configuration>
339
+    <configuration name="TestInstructor.teachTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
340
+      <module name="interfaces-1" />
341
+      <extension name="coverage">
342
+        <pattern>
343
+          <option name="PATTERN" value="io.zipcoder.interfaces.*" />
344
+          <option name="ENABLED" value="true" />
345
+        </pattern>
346
+      </extension>
347
+      <option name="PACKAGE_NAME" value="io.zipcoder.interfaces" />
348
+      <option name="MAIN_CLASS_NAME" value="io.zipcoder.interfaces.TestInstructor" />
349
+      <option name="METHOD_NAME" value="teachTest" />
350
+      <option name="TEST_OBJECT" value="method" />
351
+      <method v="2">
352
+        <option name="Make" enabled="true" />
353
+      </method>
354
+    </configuration>
355
+    <configuration name="TestStudent.implementationTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
356
+      <module name="interfaces-1" />
357
+      <extension name="coverage">
358
+        <pattern>
359
+          <option name="PATTERN" value="io.zipcoder.interfaces.*" />
360
+          <option name="ENABLED" value="true" />
361
+        </pattern>
362
+      </extension>
363
+      <option name="PACKAGE_NAME" value="io.zipcoder.interfaces" />
364
+      <option name="MAIN_CLASS_NAME" value="io.zipcoder.interfaces.TestStudent" />
365
+      <option name="METHOD_NAME" value="implementationTest" />
366
+      <option name="TEST_OBJECT" value="method" />
367
+      <method v="2">
368
+        <option name="Make" enabled="true" />
369
+      </method>
370
+    </configuration>
371
+    <configuration name="TestStudent.learnTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
372
+      <module name="interfaces-1" />
373
+      <extension name="coverage">
374
+        <pattern>
375
+          <option name="PATTERN" value="io.zipcoder.interfaces.*" />
376
+          <option name="ENABLED" value="true" />
377
+        </pattern>
378
+      </extension>
379
+      <option name="PACKAGE_NAME" value="io.zipcoder.interfaces" />
380
+      <option name="MAIN_CLASS_NAME" value="io.zipcoder.interfaces.TestStudent" />
381
+      <option name="METHOD_NAME" value="learnTest" />
382
+      <option name="TEST_OBJECT" value="method" />
383
+      <method v="2">
384
+        <option name="Make" enabled="true" />
385
+      </method>
386
+    </configuration>
387
+    <list>
388
+      <item itemvalue="JUnit.TestStudent.implementationTest" />
389
+      <item itemvalue="JUnit.TestStudent.learnTest" />
390
+      <item itemvalue="JUnit.TestInstructor.implementationTest" />
391
+      <item itemvalue="JUnit.TestInstructor.teachTest" />
392
+      <item itemvalue="JUnit.TestInstructor.lectureTest" />
393
+    </list>
394
+    <recent_temporary>
395
+      <list>
396
+        <item itemvalue="JUnit.TestInstructor.lectureTest" />
397
+        <item itemvalue="JUnit.TestInstructor.teachTest" />
398
+        <item itemvalue="JUnit.TestInstructor.implementationTest" />
399
+        <item itemvalue="JUnit.TestStudent.learnTest" />
400
+        <item itemvalue="JUnit.TestStudent.implementationTest" />
401
+      </list>
402
+    </recent_temporary>
403
+  </component>
404
+  <component name="SvnConfiguration">
405
+    <configuration />
406
+  </component>
407
+  <component name="TaskManager">
408
+    <task active="true" id="Default" summary="Default task">
409
+      <changelist id="1691c4d3-c1b9-43dc-9250-95c93a250ec9" name="Default Changelist" comment="" />
410
+      <created>1541263186393</created>
411
+      <option name="number" value="Default" />
412
+      <option name="presentableId" value="Default" />
413
+      <updated>1541263186393</updated>
414
+      <workItem from="1541263187731" duration="5974000" />
415
+    </task>
416
+    <servers />
417
+  </component>
418
+  <component name="TestHistory">
419
+    <history-entry file="TestStudent_implementationTest - 2018.11.11 at 12h 14m 35s.xml">
420
+      <configuration name="TestStudent.implementationTest" configurationId="JUnit" />
421
+    </history-entry>
422
+    <history-entry file="TestStudent_implementationTest - 2018.11.11 at 12h 14m 49s.xml">
423
+      <configuration name="TestStudent.implementationTest" configurationId="JUnit" />
424
+    </history-entry>
425
+    <history-entry file="TestStudent_implementationTest - 2018.11.11 at 12h 15m 07s.xml">
426
+      <configuration name="TestStudent.implementationTest" configurationId="JUnit" />
427
+    </history-entry>
428
+    <history-entry file="TestStudent_implementationTest - 2018.11.11 at 12h 15m 14s.xml">
429
+      <configuration name="TestStudent.implementationTest" configurationId="JUnit" />
430
+    </history-entry>
431
+    <history-entry file="TestStudent_implementationTest - 2018.11.11 at 12h 15m 20s.xml">
432
+      <configuration name="TestStudent.implementationTest" configurationId="JUnit" />
433
+    </history-entry>
434
+    <history-entry file="TestStudent_learnTest - 2018.11.11 at 12h 25m 21s.xml">
435
+      <configuration name="TestStudent.learnTest" configurationId="JUnit" />
436
+    </history-entry>
437
+    <history-entry file="TestStudent_learnTest - 2018.11.11 at 12h 25m 29s.xml">
438
+      <configuration name="TestStudent.learnTest" configurationId="JUnit" />
439
+    </history-entry>
440
+    <history-entry file="TestStudent_learnTest - 2018.11.11 at 12h 25m 42s.xml">
441
+      <configuration name="TestStudent.learnTest" configurationId="JUnit" />
442
+    </history-entry>
443
+    <history-entry file="TestInstructor_implementationTest - 2018.11.11 at 12h 38m 13s.xml">
444
+      <configuration name="TestInstructor.implementationTest" configurationId="JUnit" />
445
+    </history-entry>
446
+    <history-entry file="TestInstructor_teachTest - 2018.11.11 at 12h 44m 39s.xml">
447
+      <configuration name="TestInstructor.teachTest" configurationId="JUnit" />
448
+    </history-entry>
449
+  </component>
450
+  <component name="TimeTrackingManager">
451
+    <option name="totallyTimeSpent" value="5974000" />
452
+  </component>
453
+  <component name="ToolWindowManager">
454
+    <frame x="0" y="0" width="1280" height="800" extended-state="0" />
455
+    <editor active="true" />
456
+    <layout>
457
+      <window_info id="Image Layers" />
458
+      <window_info id="Designer" />
459
+      <window_info id="UI Designer" />
460
+      <window_info id="Capture Tool" />
461
+      <window_info id="Favorites" side_tool="true" />
462
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.28675282" />
463
+      <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
464
+      <window_info anchor="bottom" id="Messages" weight="0.32876712" />
465
+      <window_info anchor="bottom" id="Database Changes" show_stripe_button="false" />
466
+      <window_info anchor="bottom" id="Version Control" show_stripe_button="false" />
467
+      <window_info anchor="bottom" id="Terminal" />
468
+      <window_info anchor="bottom" id="Event Log" side_tool="true" />
469
+      <window_info anchor="bottom" id="Message" order="0" />
470
+      <window_info anchor="bottom" id="Find" order="1" />
471
+      <window_info anchor="bottom" id="Run" order="2" visible="true" weight="0.27945206" />
472
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
473
+      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
474
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
475
+      <window_info anchor="bottom" id="TODO" order="6" />
476
+      <window_info anchor="right" id="Palette" />
477
+      <window_info anchor="right" id="Theme Preview" />
478
+      <window_info anchor="right" id="Capture Analysis" />
479
+      <window_info anchor="right" id="Palette&#9;" />
480
+      <window_info anchor="right" id="Database" />
481
+      <window_info anchor="right" id="Maven Projects" />
482
+      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
483
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
484
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
485
+    </layout>
486
+  </component>
487
+  <component name="TypeScriptGeneratedFilesManager">
488
+    <option name="version" value="1" />
489
+  </component>
490
+  <component name="VcsContentAnnotationSettings">
491
+    <option name="myLimit" value="2678400000" />
492
+  </component>
493
+  <component name="editorHistoryManager">
494
+    <entry file="file://$PROJECT_DIR$/.project">
495
+      <provider selected="true" editor-type-id="text-editor" />
496
+    </entry>
497
+    <entry file="file://$PROJECT_DIR$/pom.xml">
498
+      <provider selected="true" editor-type-id="text-editor" />
499
+    </entry>
500
+    <entry file="file://$PROJECT_DIR$/README.md">
501
+      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
502
+        <state split_layout="SPLIT">
503
+          <first_editor relative-caret-position="-126">
504
+            <caret line="4" column="3" selection-start-line="4" selection-start-column="3" selection-end-line="4" selection-end-column="3" />
505
+          </first_editor>
506
+          <second_editor />
507
+        </state>
508
+      </provider>
509
+    </entry>
510
+    <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Person.java">
511
+      <provider selected="true" editor-type-id="text-editor">
512
+        <state relative-caret-position="205">
513
+          <caret line="28" column="19" lean-forward="true" selection-start-line="28" selection-start-column="19" selection-end-line="28" selection-end-column="19" />
514
+          <folding>
515
+            <element signature="e#147#148#0" expanded="true" />
516
+            <element signature="e#169#170#0" expanded="true" />
517
+            <element signature="e#105#106#0" expanded="true" />
518
+            <element signature="e#133#134#0" expanded="true" />
519
+            <element signature="e#149#150#0" expanded="true" />
520
+            <element signature="e#182#183#0" expanded="true" />
521
+            <element signature="e#372#373#0" expanded="true" />
522
+            <element signature="e#399#400#0" expanded="true" />
523
+            <element signature="e#487#488#0" expanded="true" />
524
+            <element signature="e#519#520#0" expanded="true" />
525
+          </folding>
526
+        </state>
527
+      </provider>
528
+    </entry>
529
+    <entry file="file://$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestPerson.java">
530
+      <provider selected="true" editor-type-id="text-editor">
531
+        <state relative-caret-position="493">
532
+          <caret line="29" column="53" selection-start-line="29" selection-start-column="53" selection-end-line="29" selection-end-column="53" />
533
+          <folding>
534
+            <element signature="imports" expanded="true" />
535
+          </folding>
536
+        </state>
537
+      </provider>
538
+    </entry>
539
+    <entry file="file://$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/StudentTest.java">
540
+      <provider selected="true" editor-type-id="text-editor">
541
+        <state relative-caret-position="136">
542
+          <caret line="10" column="5" lean-forward="true" selection-start-line="10" selection-start-column="5" selection-end-line="10" selection-end-column="5" />
543
+        </state>
544
+      </provider>
545
+    </entry>
546
+    <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Learner.java">
547
+      <provider selected="true" editor-type-id="text-editor">
548
+        <state relative-caret-position="34">
549
+          <caret line="2" column="17" selection-start-line="2" selection-start-column="17" selection-end-line="2" selection-end-column="17" />
550
+        </state>
551
+      </provider>
552
+    </entry>
553
+    <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Student.java">
554
+      <provider selected="true" editor-type-id="text-editor">
555
+        <state relative-caret-position="34">
556
+          <caret line="2" column="18" selection-start-line="2" selection-start-column="18" selection-end-line="2" selection-end-column="18" />
557
+          <folding>
558
+            <element signature="e#117#118#0" expanded="true" />
559
+            <element signature="e#142#143#0" expanded="true" />
560
+            <element signature="e#239#240#0" expanded="true" />
561
+            <element signature="e#271#272#0" expanded="true" />
562
+            <element signature="e#331#332#0" expanded="true" />
563
+            <element signature="e#361#362#0" expanded="true" />
564
+          </folding>
565
+        </state>
566
+      </provider>
567
+    </entry>
568
+    <entry file="file://$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestStudent.java">
569
+      <provider selected="true" editor-type-id="text-editor">
570
+        <state relative-caret-position="561">
571
+          <caret line="34" column="30" selection-start-line="34" selection-start-column="30" selection-end-line="34" selection-end-column="30" />
572
+        </state>
573
+      </provider>
574
+    </entry>
575
+    <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Teacher.java">
576
+      <provider selected="true" editor-type-id="text-editor">
577
+        <state relative-caret-position="136">
578
+          <caret line="8" lean-forward="true" selection-start-line="8" selection-end-line="8" />
579
+        </state>
580
+      </provider>
581
+    </entry>
582
+    <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Instructor.java">
583
+      <provider selected="true" editor-type-id="text-editor">
584
+        <state relative-caret-position="340">
585
+          <caret line="20" selection-start-line="20" selection-end-line="20" />
586
+          <folding>
587
+            <element signature="e#124#125#0" expanded="true" />
588
+            <element signature="e#149#150#0" expanded="true" />
589
+            <element signature="e#227#228#0" expanded="true" />
590
+            <element signature="e#249#250#0" expanded="true" />
591
+          </folding>
592
+        </state>
593
+      </provider>
594
+    </entry>
595
+    <entry file="file://$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestInstructor.java">
596
+      <provider selected="true" editor-type-id="text-editor">
597
+        <state relative-caret-position="437">
598
+          <caret line="49" column="8" selection-start-line="49" selection-start-column="8" selection-end-line="49" selection-end-column="8" />
599
+          <folding>
600
+            <element signature="imports" expanded="true" />
601
+          </folding>
602
+        </state>
603
+      </provider>
604
+    </entry>
605
+  </component>
606
+  <component name="masterDetails">
607
+    <states>
608
+      <state key="ArtifactsStructureConfigurable.UI">
609
+        <settings>
610
+          <artifact-editor />
611
+          <splitter-proportions>
612
+            <option name="proportions">
613
+              <list>
614
+                <option value="0.2" />
615
+              </list>
616
+            </option>
617
+          </splitter-proportions>
618
+        </settings>
619
+      </state>
620
+      <state key="FacetStructureConfigurable.UI">
621
+        <settings>
622
+          <last-edited>No facets are configured</last-edited>
623
+          <splitter-proportions>
624
+            <option name="proportions">
625
+              <list>
626
+                <option value="0.2" />
627
+              </list>
628
+            </option>
629
+          </splitter-proportions>
630
+        </settings>
631
+      </state>
632
+      <state key="GlobalLibrariesConfigurable.UI">
633
+        <settings>
634
+          <splitter-proportions>
635
+            <option name="proportions">
636
+              <list>
637
+                <option value="0.2" />
638
+              </list>
639
+            </option>
640
+          </splitter-proportions>
641
+        </settings>
642
+      </state>
643
+      <state key="JdkListConfigurable.UI">
644
+        <settings>
645
+          <last-edited>1.8</last-edited>
646
+          <splitter-proportions>
647
+            <option name="proportions">
648
+              <list>
649
+                <option value="0.2" />
650
+              </list>
651
+            </option>
652
+          </splitter-proportions>
653
+        </settings>
654
+      </state>
655
+      <state key="ModuleStructureConfigurable.UI">
656
+        <settings>
657
+          <last-edited>interfaces-1</last-edited>
658
+          <splitter-proportions>
659
+            <option name="proportions">
660
+              <list>
661
+                <option value="0.2" />
662
+                <option value="0.6" />
663
+              </list>
664
+            </option>
665
+          </splitter-proportions>
666
+        </settings>
667
+      </state>
668
+      <state key="ProjectLibrariesConfigurable.UI">
669
+        <settings>
670
+          <last-edited>Maven: junit:junit:4.12</last-edited>
671
+          <splitter-proportions>
672
+            <option name="proportions">
673
+              <list>
674
+                <option value="0.2" />
675
+              </list>
676
+            </option>
677
+          </splitter-proportions>
678
+        </settings>
679
+      </state>
680
+    </states>
681
+  </component>
682
+</project>

+ 16
- 0
interfaces-1.iml 파일 보기

@@ -0,0 +1,16 @@
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
+  </component>
16
+</module>

+ 22
- 0
src/main/java/io/zipcoder/interfaces/Instructor.java 파일 보기

@@ -0,0 +1,22 @@
1
+package io.zipcoder.interfaces;
2
+
3
+public class Instructor extends Person implements Teacher {
4
+    public Instructor(long id) {
5
+        super(id);
6
+    }
7
+
8
+    @Override
9
+    public void teach(Learner learner, double numberOfHours) {
10
+        learner.learn(numberOfHours);
11
+    }
12
+
13
+    @Override
14
+    public void lecture(Learner[] learners, double numberOfHours) {
15
+        double numberOfHoursPerLearner = numberOfHours/learners.length;
16
+        for (int i = 0; i < learners.length; i++) {
17
+            learners[i].learn(numberOfHoursPerLearner);
18
+        }
19
+    }
20
+
21
+
22
+}

+ 7
- 0
src/main/java/io/zipcoder/interfaces/Learner.java 파일 보기

@@ -0,0 +1,7 @@
1
+package io.zipcoder.interfaces;
2
+
3
+public interface Learner {
4
+
5
+    public void learn(double numberOfHours);
6
+}
7
+

+ 27
- 0
src/main/java/io/zipcoder/interfaces/Person.java 파일 보기

@@ -1,5 +1,32 @@
1 1
 package io.zipcoder.interfaces;
2 2
 
3 3
 public class Person {
4
+    private final long id;
5
+    private String name;
4 6
 
7
+
8
+    public void testConstructor() {
9
+        long id = 0;
10
+    }
11
+
12
+    public Person(long id) {
13
+        this.id = id;
14
+    }
15
+
16
+    public long getId() {
17
+        return id;
18
+        }
19
+
20
+//    public Person(long id, String name) {
21
+//        this.id = id;
22
+//        this.name = name;
23
+//    }
24
+
25
+    public String getName() {
26
+        return name;
27
+    }
28
+
29
+    public void setName(String name) {
30
+        this.name = name;
31
+    }
5 32
 }

+ 18
- 0
src/main/java/io/zipcoder/interfaces/Student.java 파일 보기

@@ -0,0 +1,18 @@
1
+package io.zipcoder.interfaces;
2
+
3
+public class Student extends Person implements Learner{
4
+    private double totalStudyTime;
5
+
6
+    public Student(long id) {
7
+        super(id);
8
+    }
9
+
10
+    @Override
11
+    public void learn(double numberOfHours) {
12
+        totalStudyTime += numberOfHours;
13
+    }
14
+
15
+    public double getTotalStudyTime() {
16
+        return totalStudyTime;
17
+    }
18
+}

+ 8
- 0
src/main/java/io/zipcoder/interfaces/Teacher.java 파일 보기

@@ -0,0 +1,8 @@
1
+package io.zipcoder.interfaces;
2
+
3
+public interface Teacher {
4
+
5
+    public void teach(Learner learner, double numberOfHours);
6
+
7
+    public void lecture(Learner [] learners, double numberOfHours);
8
+}

+ 56
- 0
src/test/java/io/zipcoder/interfaces/TestInstructor.java 파일 보기

@@ -0,0 +1,56 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+import static org.junit.Assert.*;
7
+
8
+public class TestInstructor {
9
+
10
+    @Test
11
+    public void implementationTest() {
12
+        //given and when
13
+        Instructor instructor = new Instructor(123);
14
+
15
+        //then
16
+        Assert.assertTrue(instructor instanceof Teacher);
17
+    }
18
+
19
+    @Test
20
+    public void inheritanceTest() {
21
+        //given and when
22
+        Instructor instructor = new Instructor(123);
23
+
24
+        //then
25
+        Assert.assertTrue(instructor instanceof Person);
26
+    }
27
+
28
+    @Test
29
+    public void teachTest() {
30
+        //given
31
+        Instructor instructor = new Instructor(123);
32
+        Student student = new Student(000);
33
+
34
+        //when
35
+        instructor.teach(student, 12);
36
+
37
+        //then
38
+        Assert.assertEquals(12, student.getTotalStudyTime(), .001);
39
+    }
40
+
41
+    @Test
42
+    public void lectureTest() {
43
+        //given
44
+        Instructor instructor = new Instructor(123);
45
+        Student student = new Student(000);
46
+        Student student1 = new Student(001);
47
+        Learner [] learners = {student, student1};
48
+
49
+        //when
50
+        instructor.lecture(learners, 1000);
51
+
52
+        //then
53
+        Assert.assertEquals(500, student1.getTotalStudyTime(), .001);
54
+    }
55
+
56
+}

+ 4
- 0
src/test/java/io/zipcoder/interfaces/TestPeople.java 파일 보기

@@ -0,0 +1,4 @@
1
+package io.zipcoder.interfaces;
2
+
3
+public class TestPeople {
4
+}

+ 28
- 0
src/test/java/io/zipcoder/interfaces/TestPerson.java 파일 보기

@@ -1,5 +1,33 @@
1 1
 package io.zipcoder.interfaces;
2 2
 
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
3 6
 public class TestPerson {
7
+    @Test
8
+    public void testPersonConstructor() {
9
+        //given
10
+        Person person = new Person(12345);
11
+        long expected = 12345;
12
+        //when
13
+        person.getId();
14
+
15
+        //then
16
+        Assert.assertEquals(expected, person.getId());
17
+
18
+
19
+    }
20
+
21
+    @Test
22
+    public void setNameTest() {
23
+        //given
24
+        Person person = new Person(90);
25
+
26
+        //when
27
+        person.setName("Jae");
28
+
29
+        //then
30
+        Assert.assertEquals("Jae", person.getName());
4 31
 
32
+    }
5 33
 }

+ 40
- 0
src/test/java/io/zipcoder/interfaces/TestStudent.java 파일 보기

@@ -0,0 +1,40 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+public class TestStudent {
7
+
8
+    @Test
9
+    public void implementationTest() {
10
+        //given and when
11
+        Student student = new Student(123);
12
+
13
+        //then
14
+        Assert.assertTrue(student instanceof Learner);
15
+    }
16
+    
17
+    @Test
18
+    public void inheritanceTest() {
19
+        //given and when
20
+        Student student = new Student(123);
21
+
22
+        //then
23
+        Assert.assertTrue(student instanceof Person);
24
+    }
25
+
26
+    @Test
27
+    public void learnTest() {
28
+        //given
29
+        Student student = new Student(123);
30
+
31
+        //when
32
+        student.learn(123);
33
+
34
+        //then
35
+        Assert.assertEquals(123, student.getTotalStudyTime(), .001);
36
+    }
37
+
38
+
39
+
40
+}