#36 LearnerLab

Otwarty
zmalone chce scalić 1 commity/ów z zmalone/CR-MacroLabs-OOP-InstructorStudentClassroom:master do master

+ 1
- 0
.idea/.name Wyświetl plik

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

+ 13
- 0
.idea/compiler.xml Wyświetl plik

@@ -0,0 +1,13 @@
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
+  </component>
13
+</project>

+ 6
- 0
.idea/encodings.xml Wyświetl plik

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

+ 14
- 0
.idea/misc.xml Wyświetl plik

@@ -0,0 +1,14 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="ExternalStorageConfigurationManager" enabled="true" />
4
+  <component name="MavenProjectsManager">
5
+    <option name="originalFiles">
6
+      <list>
7
+        <option value="$PROJECT_DIR$/pom.xml" />
8
+      </list>
9
+    </option>
10
+  </component>
11
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
12
+    <output url="file://$PROJECT_DIR$/out" />
13
+  </component>
14
+</project>

+ 6
- 0
.idea/vcs.xml Wyświetl plik

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

+ 547
- 0
.idea/workspace.xml Wyświetl plik

@@ -0,0 +1,547 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="ChangeListManager">
4
+    <list default="true" id="93b0570b-bb07-4a33-83d2-b532c6054292" name="Default Changelist" comment="">
5
+      <change afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" />
6
+      <change afterPath="$PROJECT_DIR$/.idea/encodings.xml" afterDir="false" />
7
+      <change afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
8
+      <change afterPath="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Instructor.java" afterDir="false" />
9
+      <change afterPath="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Learner.java" afterDir="false" />
10
+      <change afterPath="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/People.java" afterDir="false" />
11
+      <change afterPath="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Student.java" afterDir="false" />
12
+      <change afterPath="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Teacher.java" afterDir="false" />
13
+      <change afterPath="$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestInstructor.java" afterDir="false" />
14
+      <change afterPath="$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestStudent.java" afterDir="false" />
15
+      <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" />
16
+      <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" />
17
+    </list>
18
+    <ignored path="$PROJECT_DIR$/target/" />
19
+    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
20
+    <option name="SHOW_DIALOG" value="false" />
21
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
22
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
23
+    <option name="LAST_RESOLUTION" value="IGNORE" />
24
+  </component>
25
+  <component name="FUSProjectUsageTrigger">
26
+    <session id="-779923844">
27
+      <usages-collector id="statistics.lifecycle.project">
28
+        <counts>
29
+          <entry key="project.closed" value="3" />
30
+          <entry key="project.open.time.0" value="1" />
31
+          <entry key="project.open.time.1" value="1" />
32
+          <entry key="project.open.time.14" value="1" />
33
+          <entry key="project.open.time.2" value="1" />
34
+          <entry key="project.opened" value="4" />
35
+        </counts>
36
+      </usages-collector>
37
+      <usages-collector id="statistics.file.extensions.open">
38
+        <counts>
39
+          <entry key="interfaces" value="1" />
40
+          <entry key="java" value="17" />
41
+        </counts>
42
+      </usages-collector>
43
+      <usages-collector id="statistics.file.types.open">
44
+        <counts>
45
+          <entry key="JAVA" value="17" />
46
+          <entry key="UML" value="1" />
47
+        </counts>
48
+      </usages-collector>
49
+      <usages-collector id="statistics.file.extensions.edit">
50
+        <counts>
51
+          <entry key="java" value="1982" />
52
+        </counts>
53
+      </usages-collector>
54
+      <usages-collector id="statistics.file.types.edit">
55
+        <counts>
56
+          <entry key="JAVA" value="1982" />
57
+        </counts>
58
+      </usages-collector>
59
+    </session>
60
+  </component>
61
+  <component name="FileEditorManager">
62
+    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
63
+      <file pinned="false" current-in-tab="true">
64
+        <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/People.java">
65
+          <provider selected="true" editor-type-id="text-editor">
66
+            <state relative-caret-position="435">
67
+              <caret line="30" column="5" lean-forward="true" selection-start-line="30" selection-start-column="5" selection-end-line="30" selection-end-column="5" />
68
+              <folding>
69
+                <element signature="imports" expanded="true" />
70
+                <element signature="e#132#140#0" expanded="true" />
71
+                <element signature="e#179#180#0" expanded="true" />
72
+                <element signature="e#204#205#0" expanded="true" />
73
+                <element signature="e#253#254#0" expanded="true" />
74
+                <element signature="e#278#279#0" expanded="true" />
75
+                <element signature="e#333#334#0" expanded="true" />
76
+                <element signature="e#358#359#0" expanded="true" />
77
+                <element signature="e#408#409#0" expanded="true" />
78
+                <element signature="e#433#434#0" expanded="true" />
79
+                <element signature="e#473#474#0" expanded="true" />
80
+                <element signature="e#513#514#0" expanded="true" />
81
+                <element signature="e#561#562#0" expanded="true" />
82
+                <element signature="e#593#594#0" expanded="true" />
83
+              </folding>
84
+            </state>
85
+          </provider>
86
+        </entry>
87
+      </file>
88
+    </leaf>
89
+  </component>
90
+  <component name="FileTemplateManagerImpl">
91
+    <option name="RECENT_TEMPLATES">
92
+      <list>
93
+        <option value="Interface" />
94
+        <option value="Class" />
95
+      </list>
96
+    </option>
97
+  </component>
98
+  <component name="Git.Settings">
99
+    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
100
+  </component>
101
+  <component name="IdeDocumentHistory">
102
+    <option name="CHANGED_PATHS">
103
+      <list>
104
+        <option value="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Person.java" />
105
+        <option value="$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestPerson.java" />
106
+        <option value="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Learner.java" />
107
+        <option value="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Teacher.java" />
108
+        <option value="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Instructor.java" />
109
+        <option value="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Student.java" />
110
+        <option value="$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestStudent.java" />
111
+        <option value="$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestInstructor.java" />
112
+        <option value="$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/People.java" />
113
+      </list>
114
+    </option>
115
+  </component>
116
+  <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
117
+  <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
118
+  <component name="JsGulpfileManager">
119
+    <detection-done>true</detection-done>
120
+    <sorting>DEFINITION_ORDER</sorting>
121
+  </component>
122
+  <component name="MavenImportPreferences">
123
+    <option name="importingSettings">
124
+      <MavenImportingSettings>
125
+        <option name="importAutomatically" value="true" />
126
+      </MavenImportingSettings>
127
+    </option>
128
+  </component>
129
+  <component name="ProjectFrameBounds" fullScreen="true">
130
+    <option name="y" value="23" />
131
+    <option name="width" value="1920" />
132
+    <option name="height" value="1053" />
133
+  </component>
134
+  <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
135
+  <component name="ProjectView">
136
+    <navigator proportions="" version="1">
137
+      <foldersAlwaysOnTop value="true" />
138
+    </navigator>
139
+    <panes>
140
+      <pane id="Scope" />
141
+      <pane id="ProjectPane">
142
+        <subPane>
143
+          <expand>
144
+            <path>
145
+              <item name="interfaces-1" type="b2602c69:ProjectViewProjectNode" />
146
+              <item name="CR-MacroLabs-OOP-InstructorStudentClassroom" type="462c0819:PsiDirectoryNode" />
147
+            </path>
148
+            <path>
149
+              <item name="interfaces-1" type="b2602c69:ProjectViewProjectNode" />
150
+              <item name="CR-MacroLabs-OOP-InstructorStudentClassroom" type="462c0819:PsiDirectoryNode" />
151
+              <item name="src" type="462c0819:PsiDirectoryNode" />
152
+            </path>
153
+            <path>
154
+              <item name="interfaces-1" type="b2602c69:ProjectViewProjectNode" />
155
+              <item name="CR-MacroLabs-OOP-InstructorStudentClassroom" type="462c0819:PsiDirectoryNode" />
156
+              <item name="src" type="462c0819:PsiDirectoryNode" />
157
+              <item name="main" type="462c0819:PsiDirectoryNode" />
158
+            </path>
159
+            <path>
160
+              <item name="interfaces-1" type="b2602c69:ProjectViewProjectNode" />
161
+              <item name="CR-MacroLabs-OOP-InstructorStudentClassroom" type="462c0819:PsiDirectoryNode" />
162
+              <item name="src" type="462c0819:PsiDirectoryNode" />
163
+              <item name="main" type="462c0819:PsiDirectoryNode" />
164
+              <item name="java" type="462c0819:PsiDirectoryNode" />
165
+            </path>
166
+            <path>
167
+              <item name="interfaces-1" type="b2602c69:ProjectViewProjectNode" />
168
+              <item name="CR-MacroLabs-OOP-InstructorStudentClassroom" type="462c0819:PsiDirectoryNode" />
169
+              <item name="src" type="462c0819:PsiDirectoryNode" />
170
+              <item name="main" type="462c0819:PsiDirectoryNode" />
171
+              <item name="java" type="462c0819:PsiDirectoryNode" />
172
+              <item name="interfaces" type="462c0819:PsiDirectoryNode" />
173
+            </path>
174
+            <path>
175
+              <item name="interfaces-1" type="b2602c69:ProjectViewProjectNode" />
176
+              <item name="CR-MacroLabs-OOP-InstructorStudentClassroom" type="462c0819:PsiDirectoryNode" />
177
+              <item name="src" type="462c0819:PsiDirectoryNode" />
178
+              <item name="test" type="462c0819:PsiDirectoryNode" />
179
+            </path>
180
+            <path>
181
+              <item name="interfaces-1" type="b2602c69:ProjectViewProjectNode" />
182
+              <item name="CR-MacroLabs-OOP-InstructorStudentClassroom" type="462c0819:PsiDirectoryNode" />
183
+              <item name="src" type="462c0819:PsiDirectoryNode" />
184
+              <item name="test" type="462c0819:PsiDirectoryNode" />
185
+              <item name="java" type="462c0819:PsiDirectoryNode" />
186
+            </path>
187
+            <path>
188
+              <item name="interfaces-1" type="b2602c69:ProjectViewProjectNode" />
189
+              <item name="CR-MacroLabs-OOP-InstructorStudentClassroom" type="462c0819:PsiDirectoryNode" />
190
+              <item name="src" type="462c0819:PsiDirectoryNode" />
191
+              <item name="test" type="462c0819:PsiDirectoryNode" />
192
+              <item name="java" type="462c0819:PsiDirectoryNode" />
193
+              <item name="interfaces" type="462c0819:PsiDirectoryNode" />
194
+            </path>
195
+          </expand>
196
+          <select />
197
+        </subPane>
198
+      </pane>
199
+      <pane id="PackagesPane" />
200
+    </panes>
201
+  </component>
202
+  <component name="PropertiesComponent">
203
+    <property name="WebServerToolWindowFactoryState" value="false" />
204
+    <property name="aspect.path.notification.shown" value="true" />
205
+    <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1542736376393" />
206
+    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
207
+    <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
208
+    <property name="nodejs_npm_path_reset_for_default_project" value="true" />
209
+  </component>
210
+  <component name="RunDashboard">
211
+    <option name="ruleStates">
212
+      <list>
213
+        <RuleState>
214
+          <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
215
+        </RuleState>
216
+        <RuleState>
217
+          <option name="name" value="StatusDashboardGroupingRule" />
218
+        </RuleState>
219
+      </list>
220
+    </option>
221
+  </component>
222
+  <component name="RunManager" selected="JUnit.TestInstructor.testLecture">
223
+    <configuration name="TestInstructor.testLecture" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
224
+      <module name="interfaces-1" />
225
+      <extension name="coverage">
226
+        <pattern>
227
+          <option name="PATTERN" value="io.zipcoder.interfaces.*" />
228
+          <option name="ENABLED" value="true" />
229
+        </pattern>
230
+      </extension>
231
+      <option name="PACKAGE_NAME" value="io.zipcoder.interfaces" />
232
+      <option name="MAIN_CLASS_NAME" value="io.zipcoder.interfaces.TestInstructor" />
233
+      <option name="METHOD_NAME" value="testLecture" />
234
+      <option name="TEST_OBJECT" value="method" />
235
+      <method v="2">
236
+        <option name="Make" enabled="true" />
237
+      </method>
238
+    </configuration>
239
+    <configuration name="TestInstructor.testTeach" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
240
+      <module name="interfaces-1" />
241
+      <extension name="coverage">
242
+        <pattern>
243
+          <option name="PATTERN" value="io.zipcoder.interfaces.*" />
244
+          <option name="ENABLED" value="true" />
245
+        </pattern>
246
+      </extension>
247
+      <option name="PACKAGE_NAME" value="io.zipcoder.interfaces" />
248
+      <option name="MAIN_CLASS_NAME" value="io.zipcoder.interfaces.TestInstructor" />
249
+      <option name="METHOD_NAME" value="testTeach" />
250
+      <option name="TEST_OBJECT" value="method" />
251
+      <method v="2">
252
+        <option name="Make" enabled="true" />
253
+      </method>
254
+    </configuration>
255
+    <configuration name="TestPerson" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
256
+      <module name="interfaces-1" />
257
+      <extension name="coverage">
258
+        <pattern>
259
+          <option name="PATTERN" value="io.zipcoder.interfaces.*" />
260
+          <option name="ENABLED" value="true" />
261
+        </pattern>
262
+      </extension>
263
+      <option name="PACKAGE_NAME" value="io.zipcoder.interfaces" />
264
+      <option name="MAIN_CLASS_NAME" value="io.zipcoder.interfaces.TestPerson" />
265
+      <method v="2">
266
+        <option name="Make" enabled="true" />
267
+      </method>
268
+    </configuration>
269
+    <configuration name="TestStudent" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
270
+      <module name="interfaces-1" />
271
+      <extension name="coverage">
272
+        <pattern>
273
+          <option name="PATTERN" value="io.zipcoder.interfaces.*" />
274
+          <option name="ENABLED" value="true" />
275
+        </pattern>
276
+      </extension>
277
+      <option name="PACKAGE_NAME" value="io.zipcoder.interfaces" />
278
+      <option name="MAIN_CLASS_NAME" value="io.zipcoder.interfaces.TestStudent" />
279
+      <method v="2">
280
+        <option name="Make" enabled="true" />
281
+      </method>
282
+    </configuration>
283
+    <configuration name="TestStudent.testLearn" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
284
+      <module name="interfaces-1" />
285
+      <extension name="coverage">
286
+        <pattern>
287
+          <option name="PATTERN" value="io.zipcoder.interfaces.*" />
288
+          <option name="ENABLED" value="true" />
289
+        </pattern>
290
+      </extension>
291
+      <option name="PACKAGE_NAME" value="io.zipcoder.interfaces" />
292
+      <option name="MAIN_CLASS_NAME" value="io.zipcoder.interfaces.TestStudent" />
293
+      <option name="METHOD_NAME" value="testLearn" />
294
+      <option name="TEST_OBJECT" value="method" />
295
+      <method v="2">
296
+        <option name="Make" enabled="true" />
297
+      </method>
298
+    </configuration>
299
+    <list>
300
+      <item itemvalue="JUnit.TestStudent.testLearn" />
301
+      <item itemvalue="JUnit.TestStudent" />
302
+      <item itemvalue="JUnit.TestPerson" />
303
+      <item itemvalue="JUnit.TestInstructor.testTeach" />
304
+      <item itemvalue="JUnit.TestInstructor.testLecture" />
305
+    </list>
306
+    <recent_temporary>
307
+      <list>
308
+        <item itemvalue="JUnit.TestInstructor.testLecture" />
309
+        <item itemvalue="JUnit.TestInstructor.testTeach" />
310
+        <item itemvalue="JUnit.TestStudent.testLearn" />
311
+        <item itemvalue="JUnit.TestPerson" />
312
+        <item itemvalue="JUnit.TestStudent" />
313
+      </list>
314
+    </recent_temporary>
315
+  </component>
316
+  <component name="SvnConfiguration">
317
+    <configuration />
318
+  </component>
319
+  <component name="TaskManager">
320
+    <task active="true" id="Default" summary="Default task">
321
+      <changelist id="93b0570b-bb07-4a33-83d2-b532c6054292" name="Default Changelist" comment="" />
322
+      <created>1542636549360</created>
323
+      <option name="number" value="Default" />
324
+      <option name="presentableId" value="Default" />
325
+      <updated>1542636549360</updated>
326
+      <workItem from="1542636550762" duration="8440000" />
327
+      <workItem from="1542658715590" duration="512000" />
328
+      <workItem from="1542659296581" duration="3971000" />
329
+      <workItem from="1542725306656" duration="6850000" />
330
+    </task>
331
+    <servers />
332
+  </component>
333
+  <component name="TestHistory">
334
+    <history-entry file="TestStudent_testImplementation - 2018.11.20 at 10h 10m 27s.xml">
335
+      <configuration name="TestStudent.testImplementation" configurationId="JUnit" />
336
+    </history-entry>
337
+    <history-entry file="TestStudent_testInheritance - 2018.11.20 at 10h 13m 58s.xml">
338
+      <configuration name="TestStudent.testInheritance" configurationId="JUnit" />
339
+    </history-entry>
340
+    <history-entry file="TestStudent_testLearn - 2018.11.20 at 10h 30m 24s.xml">
341
+      <configuration name="TestStudent.testLearn" configurationId="JUnit" />
342
+    </history-entry>
343
+    <history-entry file="TestStudent - 2018.11.20 at 10h 31m 09s.xml">
344
+      <configuration name="TestStudent" configurationId="JUnit" />
345
+    </history-entry>
346
+    <history-entry file="TestPerson - 2018.11.20 at 10h 31m 48s.xml">
347
+      <configuration name="TestPerson" configurationId="JUnit" />
348
+    </history-entry>
349
+    <history-entry file="TestStudent_testLearn - 2018.11.20 at 10h 32m 44s.xml">
350
+      <configuration name="TestStudent.testLearn" configurationId="JUnit" />
351
+    </history-entry>
352
+    <history-entry file="TestInstructor_testTeach - 2018.11.20 at 10h 57m 39s.xml">
353
+      <configuration name="TestInstructor.testTeach" configurationId="JUnit" />
354
+    </history-entry>
355
+    <history-entry file="TestInstructor_testLecture - 2018.11.20 at 11h 18m 27s.xml">
356
+      <configuration name="TestInstructor.testLecture" configurationId="JUnit" />
357
+    </history-entry>
358
+    <history-entry file="TestInstructor_testLecture - 2018.11.20 at 11h 21m 56s.xml">
359
+      <configuration name="TestInstructor.testLecture" configurationId="JUnit" />
360
+    </history-entry>
361
+    <history-entry file="TestInstructor_testLecture - 2018.11.20 at 11h 22m 16s.xml">
362
+      <configuration name="TestInstructor.testLecture" configurationId="JUnit" />
363
+    </history-entry>
364
+  </component>
365
+  <component name="TimeTrackingManager">
366
+    <option name="totallyTimeSpent" value="19773000" />
367
+  </component>
368
+  <component name="ToolWindowManager">
369
+    <frame x="0" y="0" width="1280" height="800" extended-state="0" />
370
+    <editor active="true" />
371
+    <layout>
372
+      <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.26171243" />
373
+      <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
374
+      <window_info id="Image Layers" order="2" />
375
+      <window_info id="Designer" order="3" />
376
+      <window_info id="UI Designer" order="4" />
377
+      <window_info id="Capture Tool" order="5" />
378
+      <window_info id="Favorites" order="6" side_tool="true" />
379
+      <window_info anchor="bottom" id="Message" order="0" />
380
+      <window_info active="true" anchor="bottom" id="Find" order="1" visible="true" weight="0.32876712" />
381
+      <window_info active="true" anchor="bottom" id="Run" order="2" visible="true" weight="0.2849315" />
382
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
383
+      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
384
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
385
+      <window_info anchor="bottom" id="TODO" order="6" />
386
+      <window_info anchor="bottom" id="Version Control" order="7" show_stripe_button="false" />
387
+      <window_info anchor="bottom" id="Database Changes" order="8" show_stripe_button="false" />
388
+      <window_info anchor="bottom" id="Terminal" order="9" />
389
+      <window_info anchor="bottom" id="Event Log" order="10" side_tool="true" />
390
+      <window_info anchor="bottom" id="Messages" order="11" weight="0.32876712" />
391
+      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
392
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
393
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
394
+      <window_info anchor="right" id="Palette" order="3" />
395
+      <window_info anchor="right" id="Capture Analysis" order="4" />
396
+      <window_info anchor="right" id="Database" order="5" />
397
+      <window_info anchor="right" id="Theme Preview" order="6" />
398
+      <window_info anchor="right" id="Palette&#9;" order="7" />
399
+      <window_info anchor="right" id="Maven Projects" order="8" />
400
+    </layout>
401
+  </component>
402
+  <component name="TypeScriptGeneratedFilesManager">
403
+    <option name="version" value="1" />
404
+  </component>
405
+  <component name="VcsContentAnnotationSettings">
406
+    <option name="myLimit" value="2678400000" />
407
+  </component>
408
+  <component name="editorHistoryManager">
409
+    <entry file="uml://JAVA/io.zipcoder.interfaces">
410
+      <provider selected="true" editor-type-id="UmlEditorProvider">
411
+        <state>
412
+          <ID>JAVA</ID>
413
+          <OriginalElement>io.zipcoder.interfaces</OriginalElement>
414
+          <nodes>
415
+            <node x="" y="">io.zipcoder.interfaces.Learner</node>
416
+            <node x="" y="">io.zipcoder.interfaces.Person</node>
417
+            <node x="" y="">io.zipcoder.interfaces.Teacher</node>
418
+            <node x="" y="">io.zipcoder.interfaces.TestPerson</node>
419
+            <node x="" y="">io.zipcoder.interfaces.Instructor</node>
420
+          </nodes>
421
+          <notes />
422
+          <edges />
423
+          <settings layout="Hierarchic Group" zoom="1.0" x="59.0" y="52.0" />
424
+          <SelectedNodes />
425
+          <Categories />
426
+          <SCOPE>All</SCOPE>
427
+          <VISIBILITY>private</VISIBILITY>
428
+        </state>
429
+      </provider>
430
+    </entry>
431
+    <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Person.java">
432
+      <provider selected="true" editor-type-id="text-editor">
433
+        <state relative-caret-position="270">
434
+          <caret line="24" selection-start-line="24" selection-end-line="24" />
435
+        </state>
436
+      </provider>
437
+    </entry>
438
+    <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Teacher.java">
439
+      <provider selected="true" editor-type-id="text-editor">
440
+        <state relative-caret-position="90">
441
+          <caret line="6" column="59" selection-start-line="6" selection-start-column="59" selection-end-line="6" selection-end-column="59" />
442
+        </state>
443
+      </provider>
444
+    </entry>
445
+    <entry file="file://$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestStudent.java">
446
+      <provider selected="true" editor-type-id="text-editor">
447
+        <state relative-caret-position="390">
448
+          <caret line="26" column="8" lean-forward="true" selection-start-line="26" selection-start-column="8" selection-end-line="26" selection-end-column="8" />
449
+          <folding>
450
+            <element signature="imports" expanded="true" />
451
+          </folding>
452
+        </state>
453
+      </provider>
454
+    </entry>
455
+    <entry file="file://$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestPerson.java">
456
+      <provider selected="true" editor-type-id="text-editor">
457
+        <state relative-caret-position="180">
458
+          <caret line="12" lean-forward="true" selection-start-line="12" selection-end-line="12" />
459
+          <folding>
460
+            <element signature="imports" expanded="true" />
461
+          </folding>
462
+        </state>
463
+      </provider>
464
+    </entry>
465
+    <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Learner.java">
466
+      <provider selected="true" editor-type-id="text-editor">
467
+        <state relative-caret-position="60">
468
+          <caret line="4" column="44" selection-start-line="4" selection-start-column="44" selection-end-line="4" selection-end-column="44" />
469
+        </state>
470
+      </provider>
471
+    </entry>
472
+    <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Student.java">
473
+      <provider selected="true" editor-type-id="text-editor">
474
+        <state relative-caret-position="195">
475
+          <caret line="15" column="39" lean-forward="true" selection-start-line="15" selection-start-column="39" selection-end-line="15" selection-end-column="39" />
476
+          <folding>
477
+            <element signature="e#247#248#0" expanded="true" />
478
+            <element signature="e#293#294#0" expanded="true" />
479
+            <element signature="e#371#372#0" expanded="true" />
480
+          </folding>
481
+        </state>
482
+      </provider>
483
+    </entry>
484
+    <entry file="file://$PROJECT_DIR$/src/test/java/io/zipcoder/interfaces/TestInstructor.java">
485
+      <provider selected="true" editor-type-id="text-editor">
486
+        <state relative-caret-position="325">
487
+          <caret line="45" column="90" selection-start-line="45" selection-start-column="90" selection-end-line="45" selection-end-column="90" />
488
+          <folding>
489
+            <element signature="imports" expanded="true" />
490
+          </folding>
491
+        </state>
492
+      </provider>
493
+    </entry>
494
+    <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/Instructor.java">
495
+      <provider selected="true" editor-type-id="text-editor">
496
+        <state relative-caret-position="285">
497
+          <caret line="19" column="5" selection-start-line="19" selection-start-column="5" selection-end-line="19" selection-end-column="5" />
498
+          <folding>
499
+            <element signature="e#138#139#0" expanded="true" />
500
+            <element signature="e#169#170#0" expanded="true" />
501
+            <element signature="e#233#234#0" expanded="true" />
502
+            <element signature="e#277#278#0" expanded="true" />
503
+          </folding>
504
+        </state>
505
+      </provider>
506
+    </entry>
507
+    <entry file="file://$PROJECT_DIR$/src/main/java/io/zipcoder/interfaces/People.java">
508
+      <provider selected="true" editor-type-id="text-editor">
509
+        <state relative-caret-position="435">
510
+          <caret line="30" column="5" lean-forward="true" selection-start-line="30" selection-start-column="5" selection-end-line="30" selection-end-column="5" />
511
+          <folding>
512
+            <element signature="imports" expanded="true" />
513
+            <element signature="e#132#140#0" expanded="true" />
514
+            <element signature="e#179#180#0" expanded="true" />
515
+            <element signature="e#204#205#0" expanded="true" />
516
+            <element signature="e#253#254#0" expanded="true" />
517
+            <element signature="e#278#279#0" expanded="true" />
518
+            <element signature="e#333#334#0" expanded="true" />
519
+            <element signature="e#358#359#0" expanded="true" />
520
+            <element signature="e#408#409#0" expanded="true" />
521
+            <element signature="e#433#434#0" expanded="true" />
522
+            <element signature="e#473#474#0" expanded="true" />
523
+            <element signature="e#513#514#0" expanded="true" />
524
+            <element signature="e#561#562#0" expanded="true" />
525
+            <element signature="e#593#594#0" expanded="true" />
526
+          </folding>
527
+        </state>
528
+      </provider>
529
+    </entry>
530
+  </component>
531
+  <component name="masterDetails">
532
+    <states>
533
+      <state key="ProjectJDKs.UI">
534
+        <settings>
535
+          <last-edited>1.8</last-edited>
536
+          <splitter-proportions>
537
+            <option name="proportions">
538
+              <list>
539
+                <option value="0.2" />
540
+              </list>
541
+            </option>
542
+          </splitter-proportions>
543
+        </settings>
544
+      </state>
545
+    </states>
546
+  </component>
547
+</project>

+ 21
- 0
src/main/java/io/zipcoder/interfaces/Instructor.java Wyświetl plik

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

+ 6
- 0
src/main/java/io/zipcoder/interfaces/Learner.java Wyświetl plik

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

+ 37
- 0
src/main/java/io/zipcoder/interfaces/People.java Wyświetl plik

@@ -0,0 +1,37 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import java.awt.*;
4
+import java.util.ArrayList;
5
+
6
+public class People {
7
+    ArrayList<Person> personList = new ArrayList<Person>();
8
+
9
+    public void add(Person person){
10
+        personList.add(person);
11
+    }
12
+
13
+    public void findByID(long id){
14
+        personList.get((int) id);
15
+    }
16
+
17
+    public void remove(Person person){
18
+        personList.remove(person);
19
+    }
20
+
21
+    public void remove(Long id){
22
+        personList.remove(id);
23
+    }
24
+
25
+    public int getCount(){
26
+        return personList.size();
27
+    }
28
+
29
+    public ArrayList<Person> getArray(){
30
+        return personList;
31
+    }
32
+
33
+    public void removeAll(){
34
+        personList.removeAll(personList);
35
+    }
36
+
37
+}

+ 19
- 0
src/main/java/io/zipcoder/interfaces/Person.java Wyświetl plik

@@ -1,5 +1,24 @@
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
+    public Person(long id, String name){
8
+        this.name= name;
9
+        this.id = id;
10
+    }
11
+
12
+
13
+    public long getId(){
14
+        return id;
15
+    }
16
+
17
+    public String getName() {
18
+        return name;
19
+    }
20
+
21
+    public void setName(String name) {
22
+        this.name = name;
23
+    }
5 24
 }

+ 19
- 0
src/main/java/io/zipcoder/interfaces/Student.java Wyświetl plik

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

+ 8
- 0
src/main/java/io/zipcoder/interfaces/Teacher.java Wyświetl plik

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

+ 49
- 0
src/test/java/io/zipcoder/interfaces/TestInstructor.java Wyświetl plik

@@ -0,0 +1,49 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+public class TestInstructor {
7
+
8
+    @Test
9
+    public void testImplementation(){
10
+        Instructor instructor = new Instructor(1,"jim");
11
+
12
+        Assert.assertTrue(instructor instanceof Teacher);
13
+    }
14
+
15
+    @Test
16
+    public void testInheritance(){
17
+        Instructor instructor = new Instructor(1, "Jim");
18
+
19
+        Assert.assertTrue(instructor instanceof Person);
20
+    }
21
+
22
+    @Test
23
+    public void testTeach(){
24
+        Instructor instructor = new Instructor(1, "jim");
25
+        Student student = new Student(2,"bob");
26
+        double totalStudyTIme = 9;
27
+        double numberOfHours = 9;
28
+
29
+        instructor.teach(student,numberOfHours);
30
+
31
+        Assert.assertTrue(totalStudyTIme == numberOfHours);
32
+
33
+
34
+    }
35
+
36
+    @Test
37
+    public void testLecture(){
38
+        Instructor instructor = new Instructor(1,"Jim");
39
+        Learner[] learners = new Learner[0];
40
+        double numberOfHours = 21;
41
+        double totalStudyTime= 21;
42
+        double numberOfHoursPerLearner = numberOfHours/learners.length;
43
+
44
+        instructor.lecture(learners, numberOfHours);
45
+
46
+        Assert.assertEquals(numberOfHours/learners.length, numberOfHoursPerLearner, 0.0001);
47
+    }
48
+
49
+}

+ 31
- 1
src/test/java/io/zipcoder/interfaces/TestPerson.java Wyświetl plik

@@ -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
 
5
-}
8
+    @Test
9
+    public void testConstructor(){
10
+            //given
11
+            long id = 1;
12
+            String name = "Jim";
13
+
14
+            //when
15
+           Person person = new Person(id, name);
16
+
17
+            //them
18
+            Assert.assertEquals(id, person.getId());
19
+            Assert.assertEquals(name, person.getName());
20
+        }
21
+
22
+        @Test
23
+    public void testSetName(){
24
+            Person p = new Person(1,"Jim");
25
+            String expected ="jim";
26
+
27
+            p.setName(expected);
28
+
29
+            Assert.assertEquals(expected, p.getName());
30
+
31
+        }
32
+
33
+    }
34
+
35
+

+ 32
- 0
src/test/java/io/zipcoder/interfaces/TestStudent.java Wyświetl plik

@@ -0,0 +1,32 @@
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 testImplementation(){
10
+        Student student = new Student(1, "jim");
11
+
12
+        Assert.assertTrue(student instanceof Learner);
13
+    }
14
+
15
+    @Test
16
+    public void testInheritance(){
17
+        Student student = new Student(1, "Jim");
18
+
19
+        Assert.assertTrue(student instanceof Person);
20
+    }
21
+
22
+    @Test
23
+    public void testLearn(){
24
+        Student student = new Student(1, "Jim");
25
+        double numberOfHours = 11;
26
+        double totalStudyTime = 11;
27
+
28
+        student.learn(numberOfHours);
29
+
30
+        Assert.assertTrue(numberOfHours==totalStudyTime);
31
+    }
32
+}