Browse Source

done to part 10

CHU1TA26 6 years ago
parent
commit
87a2d6017f

+ 1
- 0
.idea/.name View File

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

+ 16
- 0
.idea/compiler.xml View 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 View 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 View 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 View 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 View 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_11" project-jdk-name="11" project-jdk-type="JavaSDK">
11
+    <output url="file://$PROJECT_DIR$/classes" />
12
+  </component>
13
+</project>

+ 8
- 0
.idea/modules.xml View 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>

+ 124
- 0
.idea/uiDesigner.xml View File

@@ -0,0 +1,124 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="Palette2">
4
+    <group name="Swing">
5
+      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
6
+        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
7
+      </item>
8
+      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
9
+        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
10
+      </item>
11
+      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
12
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
13
+      </item>
14
+      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
15
+        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
16
+      </item>
17
+      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
18
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
19
+        <initial-values>
20
+          <property name="text" value="Button" />
21
+        </initial-values>
22
+      </item>
23
+      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
24
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
25
+        <initial-values>
26
+          <property name="text" value="RadioButton" />
27
+        </initial-values>
28
+      </item>
29
+      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
30
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
31
+        <initial-values>
32
+          <property name="text" value="CheckBox" />
33
+        </initial-values>
34
+      </item>
35
+      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
36
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
37
+        <initial-values>
38
+          <property name="text" value="Label" />
39
+        </initial-values>
40
+      </item>
41
+      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
42
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
43
+          <preferred-size width="150" height="-1" />
44
+        </default-constraints>
45
+      </item>
46
+      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
47
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
48
+          <preferred-size width="150" height="-1" />
49
+        </default-constraints>
50
+      </item>
51
+      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
52
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
53
+          <preferred-size width="150" height="-1" />
54
+        </default-constraints>
55
+      </item>
56
+      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
57
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
58
+          <preferred-size width="150" height="50" />
59
+        </default-constraints>
60
+      </item>
61
+      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
62
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
63
+          <preferred-size width="150" height="50" />
64
+        </default-constraints>
65
+      </item>
66
+      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
67
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
68
+          <preferred-size width="150" height="50" />
69
+        </default-constraints>
70
+      </item>
71
+      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
72
+        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
73
+      </item>
74
+      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
75
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
76
+          <preferred-size width="150" height="50" />
77
+        </default-constraints>
78
+      </item>
79
+      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
80
+        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
81
+          <preferred-size width="150" height="50" />
82
+        </default-constraints>
83
+      </item>
84
+      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
85
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
86
+          <preferred-size width="150" height="50" />
87
+        </default-constraints>
88
+      </item>
89
+      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
90
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
91
+          <preferred-size width="200" height="200" />
92
+        </default-constraints>
93
+      </item>
94
+      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
95
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
96
+          <preferred-size width="200" height="200" />
97
+        </default-constraints>
98
+      </item>
99
+      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
100
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
101
+      </item>
102
+      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
103
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
104
+      </item>
105
+      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
106
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
107
+      </item>
108
+      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
109
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
110
+      </item>
111
+      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
112
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
113
+          <preferred-size width="-1" height="20" />
114
+        </default-constraints>
115
+      </item>
116
+      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
117
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
118
+      </item>
119
+      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
120
+        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
121
+      </item>
122
+    </group>
123
+  </component>
124
+</project>

+ 6
- 0
.idea/vcs.xml View 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>

+ 663
- 0
.idea/workspace.xml View File

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

+ 16
- 0
interfaces-1.iml View 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>

+ 12
- 0
pom.xml View File

@@ -5,6 +5,18 @@
5 5
   <groupId>io.zipcoder</groupId>
6 6
   <artifactId>interfaces-1</artifactId>
7 7
   <version>0.0.1-SNAPSHOT</version>
8
+  <build>
9
+    <plugins>
10
+      <plugin>
11
+        <groupId>org.apache.maven.plugins</groupId>
12
+        <artifactId>maven-compiler-plugin</artifactId>
13
+        <configuration>
14
+          <source>8</source>
15
+          <target>8</target>
16
+        </configuration>
17
+      </plugin>
18
+    </plugins>
19
+  </build>
8 20
   <packaging>jar</packaging>
9 21
 
10 22
   <name>interfaces-1</name>

+ 22
- 0
src/main/java/io/zipcoder/interfaces/Instructor.java View File

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

+ 30
- 0
src/main/java/io/zipcoder/interfaces/Instructors.java View File

@@ -0,0 +1,30 @@
1
+package io.zipcoder.interfaces;
2
+
3
+public final class Instructors extends People<Instructor> {
4
+
5
+    private final static Instructors INSTANCE = new Instructors();
6
+
7
+    private Instructors(){
8
+        personList.add(new Instructor(100, "Kris Younger"));
9
+        personList.add(new Instructor(101, "Nhu Nguyen"));
10
+        personList.add(new Instructor(102, "Froilan Miranda"));
11
+        personList.add(new Instructor(103, "L. Dolio Durant"));
12
+        personList.add(new Instructor(104, "Wilhem Alcivar"));
13
+    }
14
+
15
+    public static Instructors getINSTANCE() {
16
+        return INSTANCE;
17
+    }
18
+
19
+    @Override
20
+    public Instructor[] getArray() {
21
+        Instructor [] instructors = new  Instructor[personList.size()];
22
+        int count =0;
23
+        for (Instructor instructor : personList) {
24
+            instructors[count]=instructor;
25
+            count++;
26
+
27
+        }
28
+        return instructors;
29
+    }
30
+}

+ 6
- 0
src/main/java/io/zipcoder/interfaces/Learner.java View File

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

+ 70
- 0
src/main/java/io/zipcoder/interfaces/People.java View File

@@ -0,0 +1,70 @@
1
+package io.zipcoder.interfaces;
2
+
3
+
4
+import java.util.ArrayList;
5
+import java.util.List;
6
+
7
+public abstract class  People <E extends Person>  {
8
+
9
+     List <E> personList= new ArrayList<E>();
10
+
11
+
12
+
13
+    public void add(E person){
14
+        personList.add(person);
15
+    }
16
+    public E findById (long id){
17
+       E person = null;
18
+        for (E p  :personList) {
19
+            if( p.getId()==id ){
20
+                person = p;
21
+            }
22
+
23
+
24
+        }
25
+
26
+ return person;
27
+    }
28
+
29
+    public void remove(E person) {
30
+        for (E p : personList) {
31
+            if (p.equals(person)) {
32
+                personList.remove(p);
33
+                break;
34
+
35
+            }
36
+
37
+        }
38
+
39
+    }
40
+
41
+
42
+    public void removeById(long id){
43
+        for (Person p:personList) {
44
+            if (p.getId() ==id){
45
+                    personList.remove(p);
46
+                    break;
47
+            }
48
+        }
49
+     }
50
+
51
+
52
+    public int getCount(){
53
+        return personList.size();
54
+    }
55
+    public abstract E[] getArray();
56
+
57
+//    public  Person [] getArray(){
58
+//
59
+//        return personList.toArray( Person []::new);
60
+//
61
+//        }
62
+
63
+        public void removeAll(){
64
+          personList.clear();
65
+
66
+
67
+        }
68
+
69
+
70
+}

+ 21
- 1
src/main/java/io/zipcoder/interfaces/Person.java View File

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

+ 23
- 0
src/main/java/io/zipcoder/interfaces/Student.java View File

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

+ 69
- 0
src/main/java/io/zipcoder/interfaces/Students.java View File

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

+ 7
- 0
src/main/java/io/zipcoder/interfaces/Teacher.java View File

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

+ 22
- 0
src/main/java/io/zipcoder/interfaces/ZipCodeWilmington.java View File

@@ -0,0 +1,22 @@
1
+package io.zipcoder.interfaces;
2
+
3
+public final class ZipCodeWilmington {
4
+    Students students= Students.getINSTANCE();
5
+    Instructors instructors = Instructors.getINSTANCE();
6
+
7
+    public void hostLecture(Teacher teacher, double numberOfHours){
8
+        Student [] studentArray = students.getArray();
9
+        teacher.lecture(studentArray, numberOfHours);
10
+
11
+
12
+
13
+    }
14
+    public void hostLecture(long id, double numberOfHOurs){
15
+        Student [] studentArray = students.getArray();
16
+        Teacher teacher = instructors.findById(id);
17
+        teacher.lecture(studentArray,numberOfHOurs);
18
+
19
+    }
20
+
21
+
22
+}

+ 56
- 0
src/test/java/io/zipcoder/interfaces/TestInstructor.java View File

@@ -0,0 +1,56 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Before;
5
+import org.junit.Test;
6
+
7
+public class TestInstructor {
8
+    Instructor instructor = new Instructor(1, "Kenpachi");
9
+    Student student = new Student(1, "Ronald");
10
+    Student student1 = new Student(2, "Ronald");
11
+    Student student2 = new Student(3, "Ronald");
12
+    Student student3 = new Student(4, "Ronald");
13
+
14
+    Student [] students = new Student[] {student,student1,student2,student3 };
15
+
16
+
17
+
18
+@Test
19
+    public void testInheritance (){
20
+        Assert.assertTrue(instructor instanceof Person);
21
+
22
+    }
23
+    @Test
24
+    public void testTeach(){
25
+         student.setTotalStudyTime (2.0);
26
+         instructor.teach(student, 50);
27
+         double expected = 52.0;
28
+
29
+         double actual = student.getTotalStudyTime();
30
+         Assert.assertEquals(expected, actual, 0.01);
31
+
32
+
33
+
34
+
35
+    }
36
+    @Test
37
+    public void  testLecture(){
38
+        double numbersOfHours =  50;
39
+
40
+        instructor.lecture(students, numbersOfHours);
41
+        double expected = 10;
42
+
43
+        for ( Student s:students) {
44
+              instructor.teach(s, numbersOfHours);
45
+
46
+        }
47
+
48
+     //Assert.assertEquals(expected, .getTotalStudyTime());
49
+
50
+    }
51
+
52
+
53
+
54
+
55
+
56
+}

+ 26
- 0
src/test/java/io/zipcoder/interfaces/TestInstructors.java View 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 TestInstructors {
7
+    @Test
8
+    public void testHasAllStudents(){
9
+        Instructors instructors = Instructors.getINSTANCE();
10
+        Person [] instructorArray = instructors.getArray();
11
+
12
+        int actual = instructorArray.length;
13
+        int expected = 5;
14
+
15
+        Assert.assertEquals(expected, actual);
16
+
17
+
18
+    }
19
+
20
+    @Test
21
+    public void testSingletonInstance(){
22
+        Instructors instructors = Instructors.getINSTANCE();
23
+        Instructors instructors2 = Instructors.getINSTANCE();
24
+        Assert.assertSame(instructors,instructors2);
25
+    }
26
+}

+ 19
- 0
src/test/java/io/zipcoder/interfaces/TestPeople.java View File

@@ -0,0 +1,19 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import org.junit.Test;
4
+
5
+public class TestPeople  {
6
+
7
+    Student student = new Student(1,"Itchigo");
8
+
9
+
10
+
11
+    @Test
12
+    public void testAdd(){
13
+
14
+
15
+
16
+
17
+    }
18
+
19
+}

+ 25
- 0
src/test/java/io/zipcoder/interfaces/TestPerson.java View 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 {
7
+    Person person = new Person(1, "Sailor Moon");
8
+    @Test
9
+    public void testConstructor(){
10
+        long expected = 1;
11
+        long actual = person.getId();
12
+        Assert.assertEquals(expected, actual);
13
+    }
14
+
15
+    @Test
16
+    public void testSetNAME (){
17
+        //GIVEN
18
+        String expected = " Itchigo";
19
+        //WHEN
20
+        person.setName(expected);
21
+        //THEN
22
+        Assert.assertEquals(expected, person.getName());
23
+    }
24
+
25
+
26
+
27
+
28
+
4 29
 
5 30
 }

+ 29
- 0
src/test/java/io/zipcoder/interfaces/TestStudent.java View File

@@ -0,0 +1,29 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+public class TestStudent {
7
+    Student student = new Student(1,"Sailor Moon" );
8
+    @Test
9
+     public void testImplementation (){
10
+        Assert.assertTrue(student instanceof  Learner);
11
+
12
+    }
13
+
14
+    @Test
15
+        public void testInheritance(){
16
+        Assert.assertTrue(student instanceof Person);
17
+    }
18
+    @Test
19
+    public void testLearn(){
20
+        double numbersOfHour= 500;
21
+        double expected = 500;
22
+        student.learn(numbersOfHour);
23
+        Assert.assertEquals(expected, student.getTotalStudyTime(), 0.0);
24
+
25
+    }
26
+
27
+
28
+
29
+}

+ 24
- 0
src/test/java/io/zipcoder/interfaces/TestZipCodeWilmington.java View File

@@ -0,0 +1,24 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+public class TestZipCodeWilmington {
7
+    ZipCodeWilmington zcw = new ZipCodeWilmington();
8
+    Student student = new Student(1, "Itchigo")
9
+
10
+//    @Test
11
+//    public void testTeach(){
12
+//        student.setTotalStudyTime (2.0);
13
+//        zcw.hostLecture(student, 50);
14
+//        double expected = 52.0;
15
+//
16
+//        double actual = student.getTotalStudyTime();
17
+//        Assert.assertEquals(expected, actual, 0.01);
18
+//
19
+
20
+
21
+
22
+    }
23
+
24
+}

+ 29
- 0
src/test/java/io/zipcoder/interfaces/testStudents.java View File

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