#29 Elliott Stansbury final

Aperto
ElliottStansbury vorrebbe unire 1 commit da ElliottStansbury/CR-MacroLabs-OOP-InstructorStudentClassroom:master a master

+ 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="1.5" />
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>

+ 124
- 0
.idea/uiDesigner.xml Vedi 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 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>

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

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

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

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

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

@@ -0,0 +1,24 @@
1
+package io.zipcoder.interfaces;
2
+
3
+final class Instructors extends People<Instructor>{
4
+
5
+    private static Instructors INSTANCE = new Instructors();
6
+
7
+    private Instructors(){
8
+        personList.add(new Instructor(1, "Kris Younger"));
9
+        personList.add(new Instructor(2, "Nhu Nguyen"));
10
+        personList.add(new Instructor(3, "Wilhem Alcivar"));
11
+        personList.add(new Instructor(4, "Mikaila Akeredolu"));
12
+        personList.add(new Instructor(5, "Dolio Durant"));
13
+        personList.add(new Instructor(6, "Froilan Miranda"));
14
+        personList.add(new Instructor(7, "Leon Hunter"));
15
+    }
16
+
17
+    public static Instructors getInstance(){
18
+        return INSTANCE;
19
+    }
20
+
21
+    Instructor[] getArray() {
22
+        return new Instructor[0];
23
+    }
24
+}

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

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

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

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

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

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

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

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

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

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

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

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

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

@@ -0,0 +1,30 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import java.lang.reflect.Array;
4
+
5
+public class ZipCodeWilmington {
6
+
7
+    private Students students = Students.getInstance();
8
+    private Instructors instructors = Instructors.getInstance();
9
+
10
+    //private Learner[] learner = new Learner[students.getCount()];
11
+
12
+    public void hostLecture(Teacher teacher, double numberOfHours){
13
+        Person[] personArray = students.getArray();
14
+        Learner[] learners = new Learner[personArray.length];
15
+        for (int i = 0; i < personArray.length; i++) {
16
+            Person currentPerson = personArray[i];
17
+            Learner learner = (Learner) currentPerson;
18
+            learners[i] = learner;
19
+        }
20
+        teacher.lecture(learners, numberOfHours);
21
+    }
22
+
23
+    public void hostLecture(long id, double numberOfHours){
24
+
25
+        Teacher teacher = (Teacher) instructors.findById(id);
26
+
27
+        hostLecture(teacher,numberOfHours);
28
+
29
+    }
30
+}

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

@@ -0,0 +1,74 @@
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
+
10
+    public void testImplementation(){
11
+
12
+        Instructor instructor = new Instructor(2, "Dracula");
13
+
14
+        Assert.assertTrue(instructor instanceof Teacher);
15
+    }
16
+
17
+
18
+    @Test
19
+    public void testInheritance(){
20
+
21
+        Instructor instructor = new Instructor(2, "Dracula");
22
+
23
+        Assert.assertTrue(instructor instanceof Person);
24
+    }
25
+
26
+    @Test
27
+    public void testTeach(){
28
+
29
+        Instructor instructor = new Instructor(2,"Dracula");
30
+        Student student = new Student(3,"Billy");
31
+
32
+        instructor.teach(student, 5);
33
+
34
+        double expected = 5;
35
+        double actual = student.getTotalStudyTime();
36
+
37
+        Assert.assertEquals(expected, actual, .01);
38
+
39
+        instructor.teach(student, 12);
40
+
41
+        double expected2 = 17;
42
+        double actual2 = student.getTotalStudyTime();
43
+
44
+        Assert.assertEquals(expected2, actual2, .01);
45
+    }
46
+
47
+    @Test
48
+
49
+    public void testLecture(){
50
+
51
+        Instructor instructor = new Instructor(2, "Dracula");
52
+
53
+        Student billy = new Student(3, "Billy");
54
+        Student sally = new Student(3, "Sally");
55
+        Student sarah = new Student(3, "Sarah");
56
+
57
+        Learner[] students = {billy, sally,sarah};
58
+
59
+        instructor.lecture(students, 36);
60
+
61
+        double expected = 12;
62
+        double actual = billy.getTotalStudyTime();
63
+
64
+        Assert.assertEquals(expected, actual, .01);
65
+
66
+        instructor.lecture(students,72);
67
+
68
+        double expected2 = 36;
69
+        double actual2 = billy.getTotalStudyTime();
70
+
71
+        Assert.assertEquals(expected2,actual2,.01);
72
+    }
73
+}
74
+

+ 29
- 0
src/test/java/io/zipcoder/interfaces/InstructorsTest.java Vedi 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 InstructorsTest {
7
+    @Test
8
+
9
+    public void testSingletonInstance(){
10
+
11
+        Instructors instance1 = Instructors.getInstance();
12
+        Instructors instance2 = Instructors.getInstance();
13
+
14
+        Assert.assertSame(instance1,instance2);
15
+
16
+    }
17
+
18
+    @Test
19
+
20
+    public void initializationSetupStudentsTest(){
21
+
22
+        Instructors instructors = Instructors.getInstance();
23
+
24
+        int actual = 7;
25
+        int expected = instructors.getCount();
26
+
27
+        Assert.assertEquals(expected,actual);
28
+    }
29
+}

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

@@ -0,0 +1,132 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Before;
5
+import org.junit.Test;
6
+
7
+import java.util.ArrayList;
8
+
9
+public class PeopleTest {
10
+
11
+
12
+    private Person bobby = new Person(3, "Bobby");
13
+    private Person scott = new Person(4, "Scott");
14
+    private Person bo = new Person(5, "Bo");
15
+    private Person joe = new Person(6, "Joe");
16
+    private Person riley = new Person(7, "Riley");
17
+
18
+@Test
19
+
20
+    public void addTest(){
21
+
22
+    People peopleList = new People();
23
+
24
+
25
+    peopleList.add(bobby);
26
+    peopleList.add(scott);
27
+    peopleList.add(bo);
28
+    peopleList.add(joe);
29
+
30
+    peopleList.add(riley);
31
+
32
+
33
+   int expected = 5;
34
+   int actual = peopleList.getCount();
35
+
36
+   Assert.assertEquals(expected,actual);
37
+
38
+}
39
+
40
+@Test
41
+    public void removeByPersonTest(){
42
+
43
+    People peopleList = new People();
44
+
45
+    peopleList.add(bobby);
46
+    peopleList.add(riley);
47
+    peopleList.remove(bobby);
48
+
49
+    int expected = 1;
50
+    int actual = peopleList.getCount();
51
+
52
+    Assert.assertEquals(expected, actual);
53
+}
54
+
55
+@Test
56
+    public void removeById(){
57
+
58
+    People peopleList = new People();
59
+
60
+    peopleList.add(bobby);
61
+    peopleList.add(riley);
62
+    peopleList.add(scott);
63
+
64
+
65
+    peopleList.remove(3);
66
+
67
+    int expected = 2;
68
+    int actual = peopleList.getCount();
69
+
70
+    Assert.assertEquals(expected,actual);
71
+}
72
+
73
+@Test
74
+    public void findByIdTest(){
75
+
76
+    People peopleList = new People();
77
+
78
+    peopleList.add(bobby);
79
+    peopleList.add(riley);
80
+    peopleList.add(scott);
81
+
82
+    Person expected = bobby;
83
+    Person actual = peopleList.findById(3);
84
+
85
+    Assert.assertEquals(expected,actual);
86
+
87
+}
88
+
89
+@Test
90
+    public void getArrayTest(){
91
+
92
+    People peopleList = new People();
93
+
94
+    peopleList.add(bobby);
95
+    peopleList.add(riley);
96
+    peopleList.add(scott);
97
+    peopleList.add(bo);
98
+
99
+    People peepList = new People();
100
+
101
+    peepList.add(bobby);
102
+    peepList.add(riley);
103
+    peepList.add(joe);
104
+
105
+    Person[] expected = peepList.getArray();
106
+
107
+    peopleList.add(joe);
108
+
109
+    Person[] actual = peopleList.getArray();
110
+
111
+
112
+    Assert.assertNotEquals(actual, expected);
113
+}
114
+
115
+@Test
116
+    public void removeAllTest(){
117
+
118
+    People peopleList = new People();
119
+
120
+    peopleList.add(bobby);
121
+    peopleList.add(riley);
122
+    peopleList.add(scott);
123
+    peopleList.add(bo);
124
+
125
+    peopleList.removeAll();
126
+
127
+    int expected = 0;
128
+    int actual = peopleList.getCount();
129
+
130
+    Assert.assertEquals(expected,actual);
131
+}
132
+}

+ 34
- 0
src/test/java/io/zipcoder/interfaces/PersonTest.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 PersonTest {
7
+
8
+@Test
9
+
10
+    public void testConstructor(){
11
+        Person person = new Person(2, "Bobby");
12
+
13
+        long expected = 2;
14
+        long actual = person.getId();
15
+
16
+    Assert.assertEquals(expected, actual);
17
+
18
+    }
19
+
20
+@Test
21
+
22
+    public void testSetName(){
23
+    Person person = new Person(2, "Bobby");
24
+
25
+    String expected = "Bobby";
26
+    String actual = person.getName();
27
+
28
+    Assert.assertEquals(expected, actual);
29
+
30
+}
31
+
32
+
33
+
34
+}

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

@@ -0,0 +1,47 @@
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
+
10
+    public void testImplementation(){
11
+        Student student = new Student(3, "Dracula");
12
+
13
+        Assert.assertTrue(student instanceof Learner);
14
+    }
15
+
16
+    @Test
17
+
18
+    public void testInheritance(){
19
+        Student student = new Student(3, "Dracula");
20
+
21
+        Assert.assertTrue(student instanceof Person);
22
+    }
23
+
24
+    @Test
25
+
26
+    public void testLearn(){
27
+        Student student = new Student(3, "Dracula");
28
+
29
+        student.learn(5);
30
+
31
+        double expected = 5.0;
32
+        double actual = student.getTotalStudyTime();
33
+
34
+
35
+
36
+        Assert.assertEquals(expected, actual,0);
37
+
38
+        student.learn(5.0);
39
+        double expected2 = 10.0;
40
+        double actual2 = student.getTotalStudyTime();
41
+
42
+        Assert.assertEquals(expected2, actual2,0);
43
+        Assert.assertNotEquals(actual,actual2, 0);
44
+    }
45
+
46
+
47
+}

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

@@ -0,0 +1,32 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+import java.lang.reflect.Array;
7
+import java.util.ArrayList;
8
+
9
+public class StudentsTest {
10
+    @Test
11
+
12
+    public void testSingletonInstance(){
13
+
14
+        Students instance1 = Students.getInstance();
15
+        Students instance2 = Students.getInstance();
16
+
17
+        Assert.assertSame(instance1,instance2);
18
+
19
+    }
20
+
21
+    @Test
22
+
23
+    public void initializationSetupStudentsTest(){
24
+
25
+      Students student = Students.getInstance();
26
+
27
+      int actual = 39;
28
+      int expected = student.getCount();
29
+
30
+       Assert.assertEquals(expected,actual);
31
+    }
32
+}

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

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

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

@@ -0,0 +1,48 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+public class ZipCodeWilmingtonTest {
7
+
8
+    @Test
9
+    public void hostLectureTest(){
10
+        // given
11
+        double numberOfHoursTaught = Students.getInstance().getCount();
12
+        double expected = 1;
13
+        ZipCodeWilmington zipCodeWilmington = new ZipCodeWilmington();
14
+        Instructor instructor = (Instructor)Instructors.getInstance().findById(1);
15
+
16
+        // when
17
+        zipCodeWilmington.hostLecture(instructor,numberOfHoursTaught);
18
+
19
+
20
+        // then
21
+        for(Person p : Students.getInstance().getArray()) {
22
+            Student student = (Student) p;
23
+            double actual = student.getTotalStudyTime();
24
+            Assert.assertEquals(expected, actual, 0.1);
25
+        }
26
+
27
+
28
+    }
29
+
30
+    @Test
31
+    public void hostLectureTestById() {
32
+        // given
33
+        double numberOfHoursTaught = Students.getInstance().getCount();
34
+        double expected = 1;
35
+
36
+        ZipCodeWilmington zipCodeWilmington = new ZipCodeWilmington();
37
+
38
+        zipCodeWilmington.hostLecture(2, numberOfHoursTaught);
39
+
40
+        for (Person p : Students.getInstance().getArray()) {
41
+            Student student = (Student) p;
42
+            double actual = student.getTotalStudyTime();
43
+
44
+            Assert.assertEquals(expected, actual, 0.1);
45
+
46
+        }
47
+    }
48
+}