#33 Seth-Abrams

Aperto
Seth-Abrams vorrebbe unire 9 commit da Seth-Abrams/CR-MacroLabs-OOP-InstructorStudentClassroom:master a master
28 ha cambiato i file con 1471 aggiunte e 0 eliminazioni
  1. 1
    0
      .idea/.name
  2. 16
    0
      .idea/compiler.xml
  3. 6
    0
      .idea/encodings.xml
  4. 13
    0
      .idea/libraries/Maven__junit_junit_4_12.xml
  5. 13
    0
      .idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml
  6. 13
    0
      .idea/misc.xml
  7. 8
    0
      .idea/modules.xml
  8. 6
    0
      .idea/vcs.xml
  9. 741
    0
      .idea/workspace.xml
  10. 16
    0
      interfaces-1.iml
  11. 50
    0
      src/main/java/io/zipcoder/interfaces/Educator.java
  12. 24
    0
      src/main/java/io/zipcoder/interfaces/Instructor.java
  13. 29
    0
      src/main/java/io/zipcoder/interfaces/Instructors.java
  14. 8
    0
      src/main/java/io/zipcoder/interfaces/Learner.java
  15. 48
    0
      src/main/java/io/zipcoder/interfaces/People.java
  16. 19
    0
      src/main/java/io/zipcoder/interfaces/Person.java
  17. 20
    0
      src/main/java/io/zipcoder/interfaces/Student.java
  18. 67
    0
      src/main/java/io/zipcoder/interfaces/Students.java
  19. 8
    0
      src/main/java/io/zipcoder/interfaces/Teacher.java
  20. 28
    0
      src/main/java/io/zipcoder/interfaces/ZipCodeWilmington.java
  21. 42
    0
      src/test/java/io/zipcoder/interfaces/EducatorTest.java
  22. 53
    0
      src/test/java/io/zipcoder/interfaces/InstructorTest.java
  23. 25
    0
      src/test/java/io/zipcoder/interfaces/InstructorsTest.java
  24. 108
    0
      src/test/java/io/zipcoder/interfaces/PeopleTest.java
  25. 34
    0
      src/test/java/io/zipcoder/interfaces/StudentTest.java
  26. 26
    0
      src/test/java/io/zipcoder/interfaces/StudentsTest.java
  27. 25
    0
      src/test/java/io/zipcoder/interfaces/TestPerson.java
  28. 24
    0
      src/test/java/io/zipcoder/interfaces/ZipCodeWilmingtonTest.java

+ 1
- 0
.idea/.name Vedi File

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

+ 16
- 0
.idea/compiler.xml Vedi File

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

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

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

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

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

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

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

+ 741
- 0
.idea/workspace.xml Vedi File

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

+ 16
- 0
interfaces-1.iml Vedi File

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

+ 50
- 0
src/main/java/io/zipcoder/interfaces/Educator.java Vedi File

@@ -0,0 +1,50 @@
1
+package io.zipcoder.interfaces;
2
+
3
+public enum Educator implements Teacher {
4
+
5
+    KRIS(1, "Kris Younger"),
6
+    DOLIO(2, "Dolio Durant"),
7
+    FROILAN(3, "Froilan Miranda"),
8
+    NHU(4, "Nhu Ngyuen"),
9
+    WILHEM(5, "Wilhem Alcivar"),
10
+    DOMINIQUE(6, "Dominique Clark"),
11
+    LEON(7, "Leon Hunter");
12
+
13
+    private double timeWorked;
14
+    private long id;
15
+    private String name;
16
+
17
+    Educator(long id, String name) {
18
+        this.id = id;
19
+        this.name = name;
20
+        this.timeWorked = 0;
21
+
22
+    }
23
+
24
+    public double getTimeWorked() {
25
+        return timeWorked;
26
+    }
27
+
28
+    public long getId() {
29
+        return id;
30
+    }
31
+
32
+    public String getName() {
33
+        return name;
34
+    }
35
+
36
+    public void teach(Learner student, double numberOfHours) {
37
+
38
+        student.learn(numberOfHours);
39
+        timeWorked += numberOfHours;
40
+    }
41
+
42
+    public void lecture(Learner[] students, double numberOfHours) {
43
+        double numberOfHoursPerLearner = numberOfHours / students.length;
44
+
45
+        for (Learner pupil : students) {
46
+            pupil.learn(numberOfHoursPerLearner);
47
+        }
48
+        timeWorked += numberOfHours;
49
+    }
50
+}

+ 24
- 0
src/main/java/io/zipcoder/interfaces/Instructor.java Vedi File

@@ -0,0 +1,24 @@
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
+
11
+    public void teach(Learner student, double numberOfHours) {
12
+
13
+        student.learn(numberOfHours);
14
+    }
15
+
16
+    public void lecture(Learner[] students, double numberOfHours) {
17
+        double numberOfHoursPerLearner = numberOfHours/students.length;
18
+
19
+        for (Learner pupil : students) {
20
+            pupil.learn(numberOfHoursPerLearner);
21
+        }
22
+
23
+    }
24
+}

+ 29
- 0
src/main/java/io/zipcoder/interfaces/Instructors.java Vedi File

@@ -0,0 +1,29 @@
1
+package io.zipcoder.interfaces;
2
+
3
+
4
+public final class Instructors extends People <Instructor>{
5
+    private static final Instructors INSTANCE = new Instructors();
6
+
7
+    private Instructors(){
8
+        for (Educator each:Educator.values()) {
9
+            final Instructor instructor = new Instructor(each.getId(), each.getName());
10
+            personList.add(instructor);
11
+        }
12
+
13
+
14
+    }
15
+
16
+    public static Instructors getInstance() {
17
+        return INSTANCE;
18
+    }
19
+
20
+    @Override
21
+    public Instructor[] getArray() {
22
+        Instructor[] instructors = new Instructor[personList.size()];
23
+        for (int i = 0; i < personList.size(); i++) {
24
+            instructors[i] = personList.get(i);
25
+        }
26
+        return instructors;
27
+    }
28
+
29
+}

+ 8
- 0
src/main/java/io/zipcoder/interfaces/Learner.java Vedi File

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

+ 48
- 0
src/main/java/io/zipcoder/interfaces/People.java Vedi File

@@ -0,0 +1,48 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import java.util.ArrayList;
4
+
5
+
6
+public abstract class People<T extends Person>{
7
+    ArrayList<T> personList = new ArrayList<>();
8
+
9
+    public People() {
10
+        //this.personList;
11
+    }
12
+
13
+    public void add(T person) {
14
+
15
+        personList.add(person);
16
+    }
17
+
18
+    public int getCount() {
19
+
20
+        return personList.size();
21
+    }
22
+
23
+    public void remove(T person) {
24
+
25
+        personList.remove(person);
26
+    }
27
+
28
+    public void remove(long id) {
29
+
30
+       personList.removeIf(Person -> Person.getId() == id);
31
+    }
32
+
33
+    public T  findById(long id) {
34
+        T retrieved = null;
35
+        for (T people: personList) {
36
+            if (people.getId() == id){
37
+                retrieved = people;
38
+            }
39
+        }
40
+        return retrieved;
41
+    }
42
+
43
+    public abstract T[] getArray();
44
+
45
+    public void removeAll() {
46
+        personList.clear();
47
+    }
48
+}

+ 19
- 0
src/main/java/io/zipcoder/interfaces/Person.java Vedi File

@@ -2,4 +2,23 @@ package io.zipcoder.interfaces;
2 2
 
3 3
 public class Person {
4 4
 
5
+    private final long id;
6
+    private String name;
7
+
8
+    public Person(long id, String name) {
9
+        this.id = id;
10
+        this.name = name;
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
 }

+ 20
- 0
src/main/java/io/zipcoder/interfaces/Student.java Vedi File

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

+ 67
- 0
src/main/java/io/zipcoder/interfaces/Students.java Vedi File

@@ -0,0 +1,67 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import java.util.ArrayList;
4
+import java.util.List;
5
+
6
+public final class Students extends People <Student>{
7
+    private static final Students INSTANCE = new Students();
8
+
9
+
10
+
11
+    private Students() {
12
+        personList.add(new Student(1, "Ned Redmond"));
13
+        personList.add(new Student(2, "Seth Abrams"));
14
+        personList.add(new Student(3, "Akeem Cherry"));
15
+        personList.add(new Student(4, "Whitney Martinez"));
16
+        personList.add(new Student(5, "Nira Parikh"));
17
+        personList.add(new Student(6, "Connor Dunnigan"));
18
+        personList.add(new Student(7, "Christian Sheridan"));
19
+        personList.add(new Student(8, "Curtis Cook"));
20
+        personList.add(new Student(9, "Nuridalia Hernandez"));
21
+        personList.add(new Student(10, "Brandon DeFrancis"));
22
+        personList.add(new Student(11, "De'Jon Johnson"));
23
+        personList.add(new Student(12, "Demetrius Murray"));
24
+        personList.add(new Student(13, "Elliott Stansbury"));
25
+        personList.add(new Student(14, "Nathan Hall"));
26
+        personList.add(new Student(15, "Jae Joson"));
27
+        personList.add(new Student(16, "Jacob Anderson"));
28
+        personList.add(new Student(17, "Jose Bedolla"));
29
+        personList.add(new Student(18, "Jenn Chao"));
30
+        personList.add(new Student(19, "Jennifer Tinkler"));
31
+        personList.add(new Student(20, "Jonathan Hinds"));
32
+        personList.add(new Student(21, "Jay Samuels"));
33
+        personList.add(new Student(22, "Jevit Tith"));
34
+        personList.add(new Student(23, "Lauren Green"));
35
+        personList.add(new Student(24, "Kate Moore"));
36
+        personList.add(new Student(25, "Michelle DiMarino"));
37
+        personList.add(new Student(26, "Maggie Pierse"));
38
+        personList.add(new Student(27, "Nick Satinover"));
39
+        personList.add(new Student(28, "Chaitali Patel"));
40
+        personList.add(new Student(29, "Yesoda Sanka"));
41
+        personList.add(new Student(30, "Saurav Kamath"));
42
+        personList.add(new Student(31, "Sam Bhutani"));
43
+        personList.add(new Student(32, "Soujanya Buragapu"));
44
+        personList.add(new Student(33, "Steffon Williams"));
45
+        personList.add(new Student(34, "Zavon Malone"));
46
+        personList.add(new Student(35, "Thuy Kong"));
47
+        personList.add(new Student(36, "Thulasi Puppala"));
48
+        personList.add(new Student(37, "Trinh Tong"));
49
+        personList.add(new Student(38, "William Brown"));
50
+        personList.add(new Student(39, "Xzavia Cuello"));
51
+
52
+    }
53
+
54
+
55
+    public static Students getINSTANCE() {
56
+        return INSTANCE;
57
+    }
58
+
59
+    @Override
60
+    public Student[] getArray() {
61
+        Student[] students = new Student[personList.size()];
62
+        for (int i = 0; i < personList.size(); i++) {
63
+            students[i] = personList.get(i);
64
+        }
65
+        return students;
66
+    }
67
+}

+ 8
- 0
src/main/java/io/zipcoder/interfaces/Teacher.java Vedi File

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

+ 28
- 0
src/main/java/io/zipcoder/interfaces/ZipCodeWilmington.java Vedi File

@@ -0,0 +1,28 @@
1
+package io.zipcoder.interfaces;
2
+
3
+public final class ZipCodeWilmington {
4
+    private Students students;
5
+    private static final ZipCodeWilmington INSTANCE =  new ZipCodeWilmington();
6
+    private Instructors instructors;
7
+
8
+    private ZipCodeWilmington() {
9
+        students = Students.getINSTANCE();
10
+        instructors = Instructors.getInstance();
11
+
12
+    }
13
+
14
+    public static ZipCodeWilmington getInstance() {
15
+        return INSTANCE;
16
+    }
17
+
18
+    public void hostLecture(Teacher teacher, double numOfHours){
19
+
20
+        teacher.lecture(students.getArray(), numOfHours);
21
+
22
+    }
23
+
24
+    public void hostLecture(long id, double numberOfHours) {
25
+        instructors.findById(id).lecture(students.getArray(), numberOfHours);
26
+    }
27
+
28
+}

+ 42
- 0
src/test/java/io/zipcoder/interfaces/EducatorTest.java Vedi File

@@ -0,0 +1,42 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+public class EducatorTest {
7
+
8
+    @Test
9
+    public void instanceTest() {
10
+        Assert.assertTrue(Educator.KRIS instanceof Teacher);
11
+    }
12
+
13
+    @Test
14
+    public void teachTest() {
15
+        Student testLearner = new Student(1, "Bob");
16
+
17
+        double expected = 10;
18
+        Educator.NHU.teach(testLearner, 10.0);
19
+        double actual = testLearner.getTotalStudyTime();
20
+
21
+        Assert.assertEquals(expected, actual, 01);
22
+
23
+    }
24
+
25
+    @Test
26
+    public void lectureTest() {
27
+        Student student1 = new Student(1, "Bob");
28
+        Student student2 = new Student(2, "Gob");
29
+        Student student3 = new Student(3, "Slob");
30
+
31
+        Student[] students = {student1, student2, student3};
32
+        Educator.DOLIO.lecture(students, 15);
33
+        double expected = 15.0;
34
+        double actual = 0.0;
35
+        for (Student pupil : students) {
36
+            actual += pupil.getTotalStudyTime();
37
+        }
38
+
39
+        Assert.assertEquals(expected, actual, .01);
40
+    }
41
+    }
42
+

+ 53
- 0
src/test/java/io/zipcoder/interfaces/InstructorTest.java Vedi File

@@ -0,0 +1,53 @@
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
+        Instructor testInstructor = new Instructor(1, "bob");
11
+
12
+        Assert.assertTrue(testInstructor instanceof Teacher);
13
+
14
+    }
15
+
16
+    @Test
17
+    public void testInheritance() {
18
+        Instructor testInstructor = new Instructor(1, "Bob");
19
+
20
+        Assert.assertTrue(testInstructor instanceof Teacher);
21
+
22
+    }
23
+
24
+    @Test
25
+    public void testTeach() {
26
+        Instructor testInstructor = new Instructor(1, "Bob");
27
+        Student testLearner = new Student(1, "Bob");
28
+
29
+        double expected = 10;
30
+        testInstructor.teach(testLearner, 10.0);
31
+        double actual = testLearner.getTotalStudyTime();
32
+
33
+        Assert.assertEquals(expected, actual, 01);
34
+    }
35
+
36
+    @Test
37
+    public void testLecture() {
38
+        Instructor testInstructor = new Instructor(1, "bob");
39
+        Student student1 = new Student(1, "Bob");
40
+        Student student2 = new Student(2, "Gob");
41
+        Student student3 = new Student(3, "Slob");
42
+
43
+        Student[] students = {student1, student2, student3};
44
+        testInstructor.lecture(students, 15);
45
+        double expected = 15.0;
46
+        double actual = 0.0;
47
+        for (Student pupil : students) {
48
+            actual += pupil.getTotalStudyTime();
49
+        }
50
+
51
+        Assert.assertEquals(expected, actual, .01);
52
+    }
53
+}

+ 25
- 0
src/test/java/io/zipcoder/interfaces/InstructorsTest.java Vedi File

@@ -0,0 +1,25 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+public class InstructorsTest {
7
+
8
+    @Test
9
+    public void testInstructorsSingleton() {
10
+
11
+        Instructors  test1 =  Instructors.getInstance();
12
+        Instructors  test2 =  Instructors.getInstance();
13
+
14
+        Assert.assertSame(test1, test2);
15
+
16
+    }
17
+
18
+    @Test
19
+    public void testInstructorsInitialization() {
20
+
21
+        int expected = 7;
22
+        int actual = Instructors.getInstance().getArray().length;
23
+        Assert.assertEquals(expected, actual);
24
+    }
25
+}

+ 108
- 0
src/test/java/io/zipcoder/interfaces/PeopleTest.java Vedi File

@@ -0,0 +1,108 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+public class PeopleTest {
7
+//    @Test
8
+//    public void testAdd() {
9
+//        Student student1 = new Student(1, "Bob");
10
+//        Student student2 = new Student(2, "Gob");
11
+//        Student student3 = new Student(3, "Slob");
12
+//        personList.add(student1);
13
+//        list.add(student2);
14
+//        list.add(student3);
15
+//
16
+//        int expected = 3;
17
+//        int actual = list.getCount();
18
+//
19
+//        Assert.assertEquals(expected, actual);
20
+//
21
+//    }
22
+//
23
+//    @Test
24
+//    public void testRemoveByPerson() {
25
+//        People list = new People();
26
+//        Student student1 = new Student(1, "Bob");
27
+//        Student student2 = new Student(2, "Gob");
28
+//        Student student3 = new Student(3, "Slob");
29
+//        list.add(student1);
30
+//        list.add(student2);
31
+//        list.add(student3);
32
+//        list.remove(student2);
33
+//
34
+//        int expected = 2;
35
+//        int actual = list.getCount();
36
+//
37
+//        Assert.assertEquals(expected, actual);
38
+//
39
+//    }
40
+//
41
+//    @Test
42
+//    public void testRemoveById() {
43
+//        People list = new People();
44
+//        Student student1 = new Student(1, "Bob");
45
+//        Student student2 = new Student(2, "Gob");
46
+//        Student student3 = new Student(3, "Slob");
47
+//        list.add(student1);
48
+//        list.add(student2);
49
+//        list.add(student3);
50
+//        list.remove(2);
51
+//
52
+//        long expected = 2;
53
+//        long actual = list.getCount();
54
+//
55
+//        Assert.assertEquals(expected, actual);
56
+//    }
57
+//    @Test
58
+//    public void testFindById() {
59
+//        People list = new People();
60
+//        Student student1 = new Student(1, "Bob");
61
+//        Student student2 = new Student(2, "Gob");
62
+//        Student student3 = new Student(3, "Slob");
63
+//        list.add(student1);
64
+//        list.add(student2);
65
+//        list.add(student3);
66
+//
67
+//        Person expected = student3;
68
+//        Person actual = list.findById(3);
69
+//
70
+//        Assert.assertTrue(expected.equals(actual));
71
+//
72
+//    }
73
+//
74
+//    @Test
75
+//    public void testGetArray() {
76
+//        People list = new People();
77
+//        Student student1 = new Student(1, "Bob");
78
+//        Student student2 = new Student(2, "Gob");
79
+//        Student student3 = new Student(3, "Slob");
80
+//        list.add(student1);
81
+//        list.add(student2);
82
+//        list.add(student3);
83
+//
84
+//        int expected = 3;
85
+//        int actual = list.getArray().length;
86
+//
87
+//        Assert.assertEquals(expected, actual);
88
+//
89
+//    }
90
+//
91
+//    @Test
92
+//    public void testRemoveAll() {
93
+//        People list = new People();
94
+//        Student student1 = new Student(1, "Bob");
95
+//        Student student2 = new Student(2, "Gob");
96
+//        Student student3 = new Student(3, "Slob");
97
+//        list.add(student1);
98
+//        list.add(student2);
99
+//        list.add(student3);
100
+//
101
+//        int expected = 0;
102
+//        list.removeAll();
103
+//        int actual = list.getCount();
104
+//
105
+//        Assert.assertEquals(expected, actual);
106
+//
107
+//    }
108
+}

+ 34
- 0
src/test/java/io/zipcoder/interfaces/StudentTest.java Vedi File

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

+ 26
- 0
src/test/java/io/zipcoder/interfaces/StudentsTest.java Vedi File

@@ -0,0 +1,26 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+public class StudentsTest {
7
+
8
+    @Test
9
+    public void testSingletonInstance() {
10
+        Students test1 = Students.getINSTANCE();
11
+        Students test2 = Students.getINSTANCE();
12
+    }
13
+
14
+    @Test
15
+    public void testInitializationSetupStudents() {
16
+
17
+//        Students test = Students.getINSTANCE();
18
+//        Person[] studentArray = test.personList.getArray()
19
+        int expected = 39;
20
+        //int actual = Students.getINSTANCE().getArray().length;
21
+        int actual = Students.getINSTANCE().getArray().length;
22
+        Assert.assertEquals(expected, actual);
23
+    }
24
+
25
+
26
+}

+ 25
- 0
src/test/java/io/zipcoder/interfaces/TestPerson.java Vedi File

@@ -1,5 +1,30 @@
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 testConstructor() {
10
+        Person testPerson = new Person(1, "bob");
11
+
12
+        long expected = 1;
13
+        long actual = testPerson.getId();
14
+
15
+        Assert.assertEquals(expected, actual);
16
+
17
+    }
18
+
19
+    @Test
20
+    public void testSetAndGetName() {
21
+        Person testPerson = new Person(1, "Bob");
22
+
23
+        testPerson.setName("Bob");
24
+        String expected = "Bob";
25
+        String actual = testPerson.getName();
26
+
27
+        Assert.assertEquals(expected, actual);
28
+    }
29
+
5 30
 }

+ 24
- 0
src/test/java/io/zipcoder/interfaces/ZipCodeWilmingtonTest.java Vedi File

@@ -0,0 +1,24 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import org.junit.Test;
4
+
5
+public class ZipCodeWilmingtonTest {
6
+
7
+    @Test
8
+    public void testHostLecture() {
9
+        //Instructor teach = new Instructor(1, "Gormenghast");
10
+        Instructors instructors = Instructors.getInstance();
11
+        Instructor instructor = instructors.getArray()[0];
12
+        ZipCodeWilmington zipTest = ZipCodeWilmington.getInstance();
13
+        Students studentTest = Students.getINSTANCE();
14
+
15
+        double expected = 100;
16
+        double actual = 0.0;
17
+        zipTest.hostLecture(instructor, 100);
18
+
19
+        for (Person pupil : studentTest.getArray()) {
20
+            actual += ((Student) pupil).getTotalStudyTime();
21
+        }
22
+
23
+    }
24
+}