#37 learner lab

Aberto
jbedolla40 quer mesclar 2 commits de jbedolla40/CR-MacroLabs-OOP-InstructorStudentClassroom:master em master

+ 1
- 0
.idea/.name Ver arquivo

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

+ 16
- 0
.idea/compiler.xml Ver arquivo

@@ -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="1.5" />
14
+    </bytecodeTargetLevel>
15
+  </component>
16
+</project>

+ 6
- 0
.idea/encodings.xml Ver arquivo

@@ -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 Ver arquivo

@@ -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 Ver arquivo

@@ -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 Ver arquivo

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

+ 8
- 0
.idea/modules.xml Ver arquivo

@@ -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 Ver arquivo

@@ -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>

+ 581
- 0
.idea/workspace.xml Ver arquivo

@@ -0,0 +1,581 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="ChangeListManager">
4
+    <list default="true" id="59970d75-ae38-4d76-a578-47a4a1299431" name="Default Changelist" comment="" />
5
+    <ignored path="$PROJECT_DIR$/target/" />
6
+    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
7
+    <option name="SHOW_DIALOG" value="false" />
8
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
9
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
10
+    <option name="LAST_RESOLUTION" value="IGNORE" />
11
+  </component>
12
+  <component name="CoverageDataManager">
13
+    <SUITE FILE_PATH="coverage/interfaces_1$TestPerson_PersonTest.ic" NAME="TestPerson.PersonTest Coverage Results" MODIFIED="1541781720440" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false">
14
+      <FILTER>io.zipcoder.interfaces.*</FILTER>
15
+    </SUITE>
16
+    <SUITE FILE_PATH="coverage/interfaces_1$TestPerson_getIdTest.ic" NAME="TestPerson.getIdTest Coverage Results" MODIFIED="1541781868755" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false">
17
+      <FILTER>io.zipcoder.interfaces.*</FILTER>
18
+    </SUITE>
19
+    <SUITE FILE_PATH="coverage/interfaces_1$io_zipcoder_interfaces_in_interfaces_1.ic" NAME="io.zipcoder.interfaces in interfaces-1 Coverage Results" MODIFIED="1541797566897" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false">
20
+      <FILTER>io.zipcoder.interfaces.*</FILTER>
21
+    </SUITE>
22
+    <SUITE FILE_PATH="coverage/interfaces_1$TestPerson_setNameTest.ic" NAME="TestPerson.setNameTest Coverage Results" MODIFIED="1541782765207" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false">
23
+      <FILTER>io.zipcoder.interfaces.*</FILTER>
24
+    </SUITE>
25
+    <SUITE FILE_PATH="coverage/interfaces_1$TestPerson_personTest.ic" NAME="TestPerson.personTest Coverage Results" MODIFIED="1541787397741" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false">
26
+      <FILTER>io.zipcoder.interfaces.*</FILTER>
27
+    </SUITE>
28
+    <SUITE FILE_PATH="coverage/interfaces_1$TestPerson_getNameTest.ic" NAME="TestPerson.getNameTest Coverage Results" MODIFIED="1541782781797" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false">
29
+      <FILTER>io.zipcoder.interfaces.*</FILTER>
30
+    </SUITE>
31
+    <SUITE FILE_PATH="coverage/interfaces_1$TestPerson_getName.ic" NAME="TestPerson.getName Coverage Results" MODIFIED="1541782473280" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false">
32
+      <FILTER>io.zipcoder.interfaces.*</FILTER>
33
+    </SUITE>
34
+    <SUITE FILE_PATH="coverage/interfaces_1$TestPerson.ic" NAME="TestPerson Coverage Results" MODIFIED="1541787409441" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false">
35
+      <FILTER>io.zipcoder.interfaces.*</FILTER>
36
+    </SUITE>
37
+  </component>
38
+  <component name="CoverageOptionsProvider">
39
+    <option name="myAddOrReplace" value="0" />
40
+  </component>
41
+  <component name="CoverageViewManager">
42
+    <option name="myElementSize" value="153" />
43
+  </component>
44
+  <component name="FUSProjectUsageTrigger">
45
+    <session id="-925455908">
46
+      <usages-collector id="statistics.lifecycle.project">
47
+        <counts>
48
+          <entry key="project.closed" value="2" />
49
+          <entry key="project.open.time.11" value="1" />
50
+          <entry key="project.open.time.14" value="1" />
51
+          <entry key="project.open.time.3" value="1" />
52
+          <entry key="project.opened" value="3" />
53
+        </counts>
54
+      </usages-collector>
55
+      <usages-collector id="statistics.file.extensions.open">
56
+        <counts>
57
+          <entry key="java" value="10" />
58
+        </counts>
59
+      </usages-collector>
60
+      <usages-collector id="statistics.file.types.open">
61
+        <counts>
62
+          <entry key="JAVA" value="10" />
63
+        </counts>
64
+      </usages-collector>
65
+      <usages-collector id="statistics.file.extensions.edit">
66
+        <counts>
67
+          <entry key="java" value="3164" />
68
+        </counts>
69
+      </usages-collector>
70
+      <usages-collector id="statistics.file.types.edit">
71
+        <counts>
72
+          <entry key="JAVA" value="3164" />
73
+        </counts>
74
+      </usages-collector>
75
+      <usages-collector id="statistics.vcs.git.usages" />
76
+      <usages-collector id="statistics.js.language.service.starts" />
77
+      <usages-collector id="statistics.spring.boot.run.usages" />
78
+      <usages-collector id="statistics.spring.boot.mvc.usages" />
79
+    </session>
80
+  </component>
81
+  <component name="FileEditorManager">
82
+    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
83
+      <file pinned="false" current-in-tab="false">
84
+        <entry file="file://$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestPerson.java">
85
+          <provider selected="true" editor-type-id="text-editor">
86
+            <state relative-caret-position="465">
87
+              <caret line="32" column="5" selection-start-line="32" selection-start-column="5" selection-end-line="32" selection-end-column="5" />
88
+              <folding>
89
+                <element signature="imports" expanded="true" />
90
+              </folding>
91
+            </state>
92
+          </provider>
93
+        </entry>
94
+      </file>
95
+      <file pinned="false" current-in-tab="false">
96
+        <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Learner.java">
97
+          <provider selected="true" editor-type-id="text-editor">
98
+            <state relative-caret-position="60">
99
+              <caret line="4" column="37" selection-start-line="4" selection-start-column="37" selection-end-line="4" selection-end-column="37" />
100
+            </state>
101
+          </provider>
102
+        </entry>
103
+      </file>
104
+      <file pinned="false" current-in-tab="false">
105
+        <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Student.java">
106
+          <provider selected="true" editor-type-id="text-editor">
107
+            <state relative-caret-position="225">
108
+              <caret line="17" column="27" selection-start-line="17" selection-start-column="27" selection-end-line="17" selection-end-column="27" />
109
+            </state>
110
+          </provider>
111
+        </entry>
112
+      </file>
113
+      <file pinned="false" current-in-tab="false">
114
+        <entry file="file://$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/StudentTest.java">
115
+          <provider selected="true" editor-type-id="text-editor">
116
+            <state relative-caret-position="435">
117
+              <caret line="32" selection-start-line="32" selection-end-line="32" />
118
+              <folding>
119
+                <element signature="imports" expanded="true" />
120
+              </folding>
121
+            </state>
122
+          </provider>
123
+        </entry>
124
+      </file>
125
+      <file pinned="false" current-in-tab="false">
126
+        <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Teacher.java">
127
+          <provider selected="true" editor-type-id="text-editor">
128
+            <state relative-caret-position="75">
129
+              <caret line="5" column="57" selection-start-line="5" selection-start-column="57" selection-end-line="5" selection-end-column="57" />
130
+            </state>
131
+          </provider>
132
+        </entry>
133
+      </file>
134
+      <file pinned="false" current-in-tab="false">
135
+        <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Person.java">
136
+          <provider selected="true" editor-type-id="text-editor">
137
+            <state>
138
+              <caret column="31" selection-start-column="31" selection-end-column="31" />
139
+              <folding>
140
+                <element signature="e#179#180#0" expanded="true" />
141
+                <element signature="e#204#205#0" expanded="true" />
142
+              </folding>
143
+            </state>
144
+          </provider>
145
+        </entry>
146
+      </file>
147
+      <file pinned="false" current-in-tab="false">
148
+        <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Instructor.java">
149
+          <provider selected="true" editor-type-id="text-editor">
150
+            <state relative-caret-position="255">
151
+              <caret line="19" column="9" selection-start-line="19" selection-start-column="9" selection-end-line="19" selection-end-column="9" />
152
+            </state>
153
+          </provider>
154
+        </entry>
155
+      </file>
156
+      <file pinned="false" current-in-tab="false">
157
+        <entry file="file://$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/InstructorTest.java">
158
+          <provider selected="true" editor-type-id="text-editor">
159
+            <state relative-caret-position="630">
160
+              <caret line="43" column="5" selection-start-line="43" selection-start-column="5" selection-end-line="43" selection-end-column="5" />
161
+              <folding>
162
+                <element signature="imports" expanded="true" />
163
+              </folding>
164
+            </state>
165
+          </provider>
166
+        </entry>
167
+      </file>
168
+      <file pinned="false" current-in-tab="true">
169
+        <entry file="file://$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestPeople.java">
170
+          <provider selected="true" editor-type-id="text-editor">
171
+            <state relative-caret-position="75">
172
+              <caret line="5" selection-start-line="5" selection-end-line="5" />
173
+            </state>
174
+          </provider>
175
+        </entry>
176
+      </file>
177
+    </leaf>
178
+  </component>
179
+  <component name="FileTemplateManagerImpl">
180
+    <option name="RECENT_TEMPLATES">
181
+      <list>
182
+        <option value="Interface" />
183
+        <option value="Class" />
184
+      </list>
185
+    </option>
186
+  </component>
187
+  <component name="Git.Settings">
188
+    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
189
+  </component>
190
+  <component name="IdeDocumentHistory">
191
+    <option name="CHANGED_PATHS">
192
+      <list>
193
+        <option value="$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestPerson.java" />
194
+        <option value="$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/LearnerTest.java" />
195
+        <option value="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Learner.java" />
196
+        <option value="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Person.java" />
197
+        <option value="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Student.java" />
198
+        <option value="$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/StudentTest.java" />
199
+        <option value="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Teacher.java" />
200
+        <option value="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Instructor.java" />
201
+        <option value="$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/InstructorTest.java" />
202
+        <option value="$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestPeople.java" />
203
+      </list>
204
+    </option>
205
+  </component>
206
+  <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
207
+  <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
208
+  <component name="JsGulpfileManager">
209
+    <detection-done>true</detection-done>
210
+    <sorting>DEFINITION_ORDER</sorting>
211
+  </component>
212
+  <component name="ProjectFrameBounds">
213
+    <option name="x" value="-113" />
214
+    <option name="y" value="-904" />
215
+    <option name="width" value="1280" />
216
+    <option name="height" value="709" />
217
+  </component>
218
+  <component name="ProjectLevelVcsManager" settingsEditedManually="true">
219
+    <ConfirmationsSetting value="2" id="Add" />
220
+  </component>
221
+  <component name="ProjectView">
222
+    <navigator proportions="" version="1">
223
+      <foldersAlwaysOnTop value="true" />
224
+    </navigator>
225
+    <panes>
226
+      <pane id="ProjectPane">
227
+        <subPane>
228
+          <expand>
229
+            <path>
230
+              <item name="interfaces-1" type="b2602c69:ProjectViewProjectNode" />
231
+              <item name="CR-MacroLabs-OOP-InstructorStudentClassroom" type="462c0819:PsiDirectoryNode" />
232
+            </path>
233
+            <path>
234
+              <item name="interfaces-1" type="b2602c69:ProjectViewProjectNode" />
235
+              <item name="CR-MacroLabs-OOP-InstructorStudentClassroom" type="462c0819:PsiDirectoryNode" />
236
+              <item name="src" 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="main" 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="main" 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="main" type="462c0819:PsiDirectoryNode" />
256
+              <item name="java" type="462c0819:PsiDirectoryNode" />
257
+              <item name="interfaces" type="462c0819:PsiDirectoryNode" />
258
+            </path>
259
+            <path>
260
+              <item name="interfaces-1" type="b2602c69:ProjectViewProjectNode" />
261
+              <item name="CR-MacroLabs-OOP-InstructorStudentClassroom" type="462c0819:PsiDirectoryNode" />
262
+              <item name="src" type="462c0819:PsiDirectoryNode" />
263
+              <item name="test" type="462c0819:PsiDirectoryNode" />
264
+            </path>
265
+            <path>
266
+              <item name="interfaces-1" type="b2602c69:ProjectViewProjectNode" />
267
+              <item name="CR-MacroLabs-OOP-InstructorStudentClassroom" type="462c0819:PsiDirectoryNode" />
268
+              <item name="src" type="462c0819:PsiDirectoryNode" />
269
+              <item name="test" type="462c0819:PsiDirectoryNode" />
270
+              <item name="java" type="462c0819:PsiDirectoryNode" />
271
+            </path>
272
+            <path>
273
+              <item name="interfaces-1" type="b2602c69:ProjectViewProjectNode" />
274
+              <item name="CR-MacroLabs-OOP-InstructorStudentClassroom" type="462c0819:PsiDirectoryNode" />
275
+              <item name="src" type="462c0819:PsiDirectoryNode" />
276
+              <item name="test" type="462c0819:PsiDirectoryNode" />
277
+              <item name="java" type="462c0819:PsiDirectoryNode" />
278
+              <item name="interfaces" type="462c0819:PsiDirectoryNode" />
279
+            </path>
280
+          </expand>
281
+          <select />
282
+        </subPane>
283
+      </pane>
284
+      <pane id="PackagesPane" />
285
+      <pane id="Scope" />
286
+    </panes>
287
+  </component>
288
+  <component name="PropertiesComponent">
289
+    <property name="WebServerToolWindowFactoryState" value="false" />
290
+    <property name="aspect.path.notification.shown" value="true" />
291
+    <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1541895793339" />
292
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/pom.xml" />
293
+    <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
294
+    <property name="nodejs_npm_path_reset_for_default_project" value="true" />
295
+  </component>
296
+  <component name="RecentsManager">
297
+    <key name="CreateClassDialog.RecentsKey">
298
+      <recent name="io.zipcoder.interfaces" />
299
+    </key>
300
+  </component>
301
+  <component name="RunDashboard">
302
+    <option name="ruleStates">
303
+      <list>
304
+        <RuleState>
305
+          <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
306
+        </RuleState>
307
+        <RuleState>
308
+          <option name="name" value="StatusDashboardGroupingRule" />
309
+        </RuleState>
310
+      </list>
311
+    </option>
312
+  </component>
313
+  <component name="RunManager" selected="JUnit.InstructorTest.testLecture">
314
+    <configuration name="InstructorTest.testImplementation" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
315
+      <module name="interfaces-1" />
316
+      <extension name="coverage">
317
+        <pattern>
318
+          <option name="PATTERN" value="io.zipcoder.interfaces.*" />
319
+          <option name="ENABLED" value="true" />
320
+        </pattern>
321
+      </extension>
322
+      <option name="PACKAGE_NAME" value="io.zipcoder.interfaces" />
323
+      <option name="MAIN_CLASS_NAME" value="io.zipcoder.interfaces.InstructorTest" />
324
+      <option name="METHOD_NAME" value="testImplementation" />
325
+      <option name="TEST_OBJECT" value="method" />
326
+      <method v="2">
327
+        <option name="Make" enabled="true" />
328
+      </method>
329
+    </configuration>
330
+    <configuration name="InstructorTest.testInheritance" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
331
+      <module name="interfaces-1" />
332
+      <extension name="coverage">
333
+        <pattern>
334
+          <option name="PATTERN" value="io.zipcoder.interfaces.*" />
335
+          <option name="ENABLED" value="true" />
336
+        </pattern>
337
+      </extension>
338
+      <option name="PACKAGE_NAME" value="io.zipcoder.interfaces" />
339
+      <option name="MAIN_CLASS_NAME" value="io.zipcoder.interfaces.InstructorTest" />
340
+      <option name="METHOD_NAME" value="testInheritance" />
341
+      <option name="TEST_OBJECT" value="method" />
342
+      <method v="2">
343
+        <option name="Make" enabled="true" />
344
+      </method>
345
+    </configuration>
346
+    <configuration name="InstructorTest.testLecture" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
347
+      <module name="interfaces-1" />
348
+      <extension name="coverage">
349
+        <pattern>
350
+          <option name="PATTERN" value="io.zipcoder.interfaces.*" />
351
+          <option name="ENABLED" value="true" />
352
+        </pattern>
353
+      </extension>
354
+      <option name="PACKAGE_NAME" value="io.zipcoder.interfaces" />
355
+      <option name="MAIN_CLASS_NAME" value="io.zipcoder.interfaces.InstructorTest" />
356
+      <option name="METHOD_NAME" value="testLecture" />
357
+      <option name="TEST_OBJECT" value="method" />
358
+      <method v="2">
359
+        <option name="Make" enabled="true" />
360
+      </method>
361
+    </configuration>
362
+    <configuration name="InstructorTest.testTeach" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
363
+      <module name="interfaces-1" />
364
+      <extension name="coverage">
365
+        <pattern>
366
+          <option name="PATTERN" value="io.zipcoder.interfaces.*" />
367
+          <option name="ENABLED" value="true" />
368
+        </pattern>
369
+      </extension>
370
+      <option name="PACKAGE_NAME" value="io.zipcoder.interfaces" />
371
+      <option name="MAIN_CLASS_NAME" value="io.zipcoder.interfaces.InstructorTest" />
372
+      <option name="METHOD_NAME" value="testTeach" />
373
+      <option name="TEST_OBJECT" value="method" />
374
+      <method v="2">
375
+        <option name="Make" enabled="true" />
376
+      </method>
377
+    </configuration>
378
+    <configuration name="StudentTest.testLearn" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
379
+      <module name="interfaces-1" />
380
+      <extension name="coverage">
381
+        <pattern>
382
+          <option name="PATTERN" value="io.zipcoder.interfaces.*" />
383
+          <option name="ENABLED" value="true" />
384
+        </pattern>
385
+      </extension>
386
+      <option name="PACKAGE_NAME" value="io.zipcoder.interfaces" />
387
+      <option name="MAIN_CLASS_NAME" value="io.zipcoder.interfaces.StudentTest" />
388
+      <option name="METHOD_NAME" value="testLearn" />
389
+      <option name="TEST_OBJECT" value="method" />
390
+      <method v="2">
391
+        <option name="Make" enabled="true" />
392
+      </method>
393
+    </configuration>
394
+    <list>
395
+      <item itemvalue="JUnit.StudentTest.testLearn" />
396
+      <item itemvalue="JUnit.InstructorTest.testImplementation" />
397
+      <item itemvalue="JUnit.InstructorTest.testInheritance" />
398
+      <item itemvalue="JUnit.InstructorTest.testTeach" />
399
+      <item itemvalue="JUnit.InstructorTest.testLecture" />
400
+    </list>
401
+    <recent_temporary>
402
+      <list>
403
+        <item itemvalue="JUnit.InstructorTest.testLecture" />
404
+        <item itemvalue="JUnit.InstructorTest.testTeach" />
405
+        <item itemvalue="JUnit.InstructorTest.testInheritance" />
406
+        <item itemvalue="JUnit.InstructorTest.testImplementation" />
407
+        <item itemvalue="JUnit.StudentTest.testLearn" />
408
+      </list>
409
+    </recent_temporary>
410
+  </component>
411
+  <component name="SvnConfiguration">
412
+    <configuration />
413
+  </component>
414
+  <component name="TaskManager">
415
+    <task active="true" id="Default" summary="Default task">
416
+      <changelist id="59970d75-ae38-4d76-a578-47a4a1299431" name="Default Changelist" comment="" />
417
+      <created>1541779539808</created>
418
+      <option name="number" value="Default" />
419
+      <option name="presentableId" value="Default" />
420
+      <updated>1541779539808</updated>
421
+      <workItem from="1541779543705" duration="30476000" />
422
+      <workItem from="1543013528755" duration="606000" />
423
+      <workItem from="1543170111668" duration="4000" />
424
+    </task>
425
+    <servers />
426
+  </component>
427
+  <component name="TestHistory">
428
+    <history-entry file="StudentTest_testLearn - 2018.11.09 at 19h 21m 06s.xml">
429
+      <configuration name="StudentTest.testLearn" configurationId="JUnit" />
430
+    </history-entry>
431
+    <history-entry file="InstructorTest_testImplementation - 2018.11.10 at 12h 18m 24s.xml">
432
+      <configuration name="InstructorTest.testImplementation" configurationId="JUnit" />
433
+    </history-entry>
434
+    <history-entry file="InstructorTest_testImplementation - 2018.11.10 at 12h 29m 49s.xml">
435
+      <configuration name="InstructorTest.testImplementation" configurationId="JUnit" />
436
+    </history-entry>
437
+    <history-entry file="InstructorTest_testInheritance - 2018.11.10 at 12h 31m 00s.xml">
438
+      <configuration name="InstructorTest.testInheritance" configurationId="JUnit" />
439
+    </history-entry>
440
+    <history-entry file="InstructorTest_testTeach - 2018.11.10 at 14h 07m 32s.xml">
441
+      <configuration name="InstructorTest.testTeach" configurationId="JUnit" />
442
+    </history-entry>
443
+    <history-entry file="InstructorTest_testTeach - 2018.11.10 at 14h 07m 45s.xml">
444
+      <configuration name="InstructorTest.testTeach" configurationId="JUnit" />
445
+    </history-entry>
446
+    <history-entry file="InstructorTest_testLecture - 2018.11.10 at 17h 38m 13s.xml">
447
+      <configuration name="InstructorTest.testLecture" configurationId="JUnit" />
448
+    </history-entry>
449
+    <history-entry file="InstructorTest_testLecture - 2018.11.10 at 17h 41m 26s.xml">
450
+      <configuration name="InstructorTest.testLecture" configurationId="JUnit" />
451
+    </history-entry>
452
+    <history-entry file="InstructorTest_testLecture - 2018.11.10 at 17h 59m 19s.xml">
453
+      <configuration name="InstructorTest.testLecture" configurationId="JUnit" />
454
+    </history-entry>
455
+    <history-entry file="InstructorTest_testLecture - 2018.11.10 at 18h 03m 38s.xml">
456
+      <configuration name="InstructorTest.testLecture" configurationId="JUnit" />
457
+    </history-entry>
458
+  </component>
459
+  <component name="TimeTrackingManager">
460
+    <option name="totallyTimeSpent" value="31086000" />
461
+  </component>
462
+  <component name="ToolWindowManager">
463
+    <frame x="-113" y="-904" width="1280" height="709" extended-state="0" />
464
+    <layout>
465
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.25767368" />
466
+      <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
467
+      <window_info id="Image Layers" order="2" />
468
+      <window_info id="Designer" order="3" />
469
+      <window_info id="UI Designer" order="4" />
470
+      <window_info id="Capture Tool" order="5" />
471
+      <window_info id="Favorites" order="6" side_tool="true" />
472
+      <window_info anchor="bottom" id="Message" order="0" />
473
+      <window_info anchor="bottom" id="Find" order="1" />
474
+      <window_info anchor="bottom" id="Run" order="2" weight="0.28082192" />
475
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
476
+      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
477
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
478
+      <window_info anchor="bottom" id="TODO" order="6" />
479
+      <window_info anchor="bottom" id="Version Control" order="7" show_stripe_button="false" />
480
+      <window_info anchor="bottom" id="Database Changes" order="8" show_stripe_button="false" />
481
+      <window_info anchor="bottom" id="Terminal" order="9" />
482
+      <window_info anchor="bottom" id="Event Log" order="10" side_tool="true" />
483
+      <window_info anchor="bottom" id="Messages" order="11" weight="0.32871288" />
484
+      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
485
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
486
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
487
+      <window_info anchor="right" id="Palette" order="3" />
488
+      <window_info anchor="right" id="Capture Analysis" order="4" />
489
+      <window_info anchor="right" id="Database" order="5" />
490
+      <window_info anchor="right" id="Theme Preview" order="6" />
491
+      <window_info anchor="right" id="Maven Projects" order="7" />
492
+      <window_info anchor="right" id="Palette&#9;" order="8" />
493
+      <window_info anchor="right" id="Coverage" order="9" side_tool="true" weight="0.3290735" />
494
+    </layout>
495
+  </component>
496
+  <component name="TypeScriptGeneratedFilesManager">
497
+    <option name="version" value="1" />
498
+  </component>
499
+  <component name="VcsContentAnnotationSettings">
500
+    <option name="myLimit" value="2678400000" />
501
+  </component>
502
+  <component name="editorHistoryManager">
503
+    <entry file="file://$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/LearnerTest.java" />
504
+    <entry file="file://$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestPerson.java">
505
+      <provider selected="true" editor-type-id="text-editor">
506
+        <state relative-caret-position="465">
507
+          <caret line="32" column="5" selection-start-line="32" selection-start-column="5" selection-end-line="32" selection-end-column="5" />
508
+          <folding>
509
+            <element signature="imports" expanded="true" />
510
+          </folding>
511
+        </state>
512
+      </provider>
513
+    </entry>
514
+    <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Learner.java">
515
+      <provider selected="true" editor-type-id="text-editor">
516
+        <state relative-caret-position="60">
517
+          <caret line="4" column="37" selection-start-line="4" selection-start-column="37" selection-end-line="4" selection-end-column="37" />
518
+        </state>
519
+      </provider>
520
+    </entry>
521
+    <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Student.java">
522
+      <provider selected="true" editor-type-id="text-editor">
523
+        <state relative-caret-position="225">
524
+          <caret line="17" column="27" selection-start-line="17" selection-start-column="27" selection-end-line="17" selection-end-column="27" />
525
+        </state>
526
+      </provider>
527
+    </entry>
528
+    <entry file="file://$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/StudentTest.java">
529
+      <provider selected="true" editor-type-id="text-editor">
530
+        <state relative-caret-position="435">
531
+          <caret line="32" selection-start-line="32" selection-end-line="32" />
532
+          <folding>
533
+            <element signature="imports" expanded="true" />
534
+          </folding>
535
+        </state>
536
+      </provider>
537
+    </entry>
538
+    <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Teacher.java">
539
+      <provider selected="true" editor-type-id="text-editor">
540
+        <state relative-caret-position="75">
541
+          <caret line="5" column="57" selection-start-line="5" selection-start-column="57" selection-end-line="5" selection-end-column="57" />
542
+        </state>
543
+      </provider>
544
+    </entry>
545
+    <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Person.java">
546
+      <provider selected="true" editor-type-id="text-editor">
547
+        <state>
548
+          <caret column="31" selection-start-column="31" selection-end-column="31" />
549
+          <folding>
550
+            <element signature="e#179#180#0" expanded="true" />
551
+            <element signature="e#204#205#0" expanded="true" />
552
+          </folding>
553
+        </state>
554
+      </provider>
555
+    </entry>
556
+    <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Instructor.java">
557
+      <provider selected="true" editor-type-id="text-editor">
558
+        <state relative-caret-position="255">
559
+          <caret line="19" column="9" selection-start-line="19" selection-start-column="9" selection-end-line="19" selection-end-column="9" />
560
+        </state>
561
+      </provider>
562
+    </entry>
563
+    <entry file="file://$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/InstructorTest.java">
564
+      <provider selected="true" editor-type-id="text-editor">
565
+        <state relative-caret-position="630">
566
+          <caret line="43" column="5" selection-start-line="43" selection-start-column="5" selection-end-line="43" selection-end-column="5" />
567
+          <folding>
568
+            <element signature="imports" expanded="true" />
569
+          </folding>
570
+        </state>
571
+      </provider>
572
+    </entry>
573
+    <entry file="file://$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestPeople.java">
574
+      <provider selected="true" editor-type-id="text-editor">
575
+        <state relative-caret-position="75">
576
+          <caret line="5" selection-start-line="5" selection-end-line="5" />
577
+        </state>
578
+      </provider>
579
+    </entry>
580
+  </component>
581
+</project>

+ 16
- 0
interfaces-1.iml Ver arquivo

@@ -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_5">
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>

+ 23
- 0
src/main/java/io/zipcoder/interfaces/Instructor.java Ver arquivo

@@ -0,0 +1,23 @@
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
+    public void teach(Learner learner, double numberOfHours) {
9
+
10
+        learner.learn(numberOfHours);
11
+
12
+    }
13
+
14
+    public void lecture(Learner[] learners, double numberOfHours) {
15
+
16
+
17
+        for(int i=0; i<learners.length; i++)
18
+        {
19
+           learners[i].learn(numberOfHours/learners.length);
20
+        }
21
+
22
+    }
23
+}

+ 7
- 0
src/main/java/io/zipcoder/interfaces/Learner.java Ver arquivo

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

+ 20
- 0
src/main/java/io/zipcoder/interfaces/Person.java Ver arquivo

@@ -2,4 +2,24 @@ package io.zipcoder.interfaces;
2 2
 
3 3
 public class Person {
4 4
 
5
+    final long ID;
6
+    String name;
7
+
8
+    public Person(long ID) {
9
+        this.ID = ID;
10
+    }
11
+
12
+    public long getID()
13
+    {
14
+        return ID;
15
+    }
16
+
17
+    public String getName() {
18
+
19
+        return name;
20
+    }
21
+
22
+    public void setName(String name) {
23
+        this.name=name;
24
+    }
5 25
 }

+ 22
- 0
src/main/java/io/zipcoder/interfaces/Student.java Ver arquivo

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

+ 7
- 0
src/main/java/io/zipcoder/interfaces/Teacher.java Ver arquivo

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

+ 45
- 0
src/test/java/io/zipcoder/interfaces/InstructorTest.java Ver arquivo

@@ -0,0 +1,45 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+public class InstructorTest {
7
+
8
+    @Test
9
+    public void testImplementation()
10
+    {
11
+        Instructor instructor = new Instructor(2);
12
+        Assert.assertTrue(instructor instanceof Teacher);
13
+    }
14
+
15
+    @Test
16
+    public void testInheritance()
17
+    {
18
+        Instructor instructor = new Instructor(3);
19
+        Assert.assertTrue(instructor instanceof Person);
20
+    }
21
+
22
+    @Test
23
+    public void testTeach()
24
+    {
25
+        Instructor instructor = new Instructor(3);
26
+        double newHours = 5;
27
+        Learner l = new Student(2);
28
+        instructor.teach(l,newHours);
29
+        double actual = ((Student) l).getTotalStudyTime();
30
+        double expected = 5;
31
+        Assert.assertEquals(expected,actual,1);
32
+    }
33
+
34
+    @Test
35
+    public void testLecture()
36
+    {
37
+    Instructor instructor = new Instructor(1);
38
+    Student student = new Student(1);
39
+    Student[] arrayStudent = {student};
40
+    instructor.lecture(arrayStudent,4);
41
+    double expected =4;
42
+    double actual = student.getTotalStudyTime();
43
+    Assert.assertEquals(expected,actual,1);
44
+    }
45
+}

+ 35
- 0
src/test/java/io/zipcoder/interfaces/StudentTest.java Ver arquivo

@@ -0,0 +1,35 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+import static org.hamcrest.core.IsInstanceOf.instanceOf;
7
+
8
+public class StudentTest {
9
+
10
+    @Test
11
+    public void testImplementation()
12
+    {
13
+    Student student = new Student(1);
14
+    Assert.assertTrue(student instanceof  Person);
15
+    }
16
+
17
+    @Test
18
+    public void testInterface()
19
+    {
20
+        Student student = new Student(1);
21
+        Assert.assertTrue(student instanceof Learner);
22
+    }
23
+    @Test
24
+    public void testLearn()
25
+    {
26
+        Student student = new Student(1);
27
+
28
+        student.learn(3);
29
+        double actual = student.getTotalStudyTime();
30
+        double expected =3;
31
+        Assert.assertEquals(expected,actual,1);
32
+    }
33
+
34
+
35
+}

+ 7
- 0
src/test/java/io/zipcoder/interfaces/TestPeople.java Ver arquivo

@@ -0,0 +1,7 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import org.junit.Test;
4
+
5
+public class TestPeople {
6
+
7
+}

+ 30
- 0
src/test/java/io/zipcoder/interfaces/TestPerson.java Ver arquivo

@@ -1,5 +1,35 @@
1 1
 package io.zipcoder.interfaces;
2 2
 
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
3 6
 public class TestPerson {
4 7
 
8
+    @Test
9
+    public void personTest()
10
+    {
11
+        Person person = new Person(1);
12
+        Assert.assertNotNull(person);
13
+    }
14
+
15
+
16
+    @Test
17
+    public void getIdTest()
18
+    {
19
+        Person person = new Person(2);
20
+        long expected = 2;
21
+        long actual = person.getID();
22
+        Assert.assertEquals(expected,actual);
23
+    }
24
+
25
+    @Test
26
+    public void getNameTest()
27
+    {
28
+        Person person = new Person(3);
29
+        String expected = "jose";
30
+        person.setName(expected);
31
+        String actual = person.getName();
32
+        Assert.assertEquals(expected,actual);
33
+    }
34
+
5 35
 }