#30 Completed till Part5

Open
NiraParikh wants to merge 2 commits from NiraParikh/CR-MacroLabs-OOP-InstructorStudentClassroom:master into master

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

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

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

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

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

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

@@ -0,0 +1,25 @@
1
+package io.zipcoder.interfaces;
2
+
3
+public class Instructors extends People <Instructor> {
4
+    private static Instructors ourInstance = new Instructors();
5
+
6
+    public static Instructors getInstance() {
7
+        return ourInstance;
8
+    }
9
+
10
+    private Instructors() {
11
+        personList.add(new Instructor("Wil", 2));
12
+        personList.add(new Instructor("Dolio", 4));
13
+        personList.add(new Instructor("Kris", 7));
14
+        personList.add(new Instructor("Nhu", 8));
15
+    }
16
+
17
+    @Override
18
+    public Instructor[] getArray() {
19
+        Instructor[] instructor = new Instructor[personList.size()];
20
+        for (int i = 0; i < personList.size(); i++)
21
+            instructor[i] = personList.get(i);
22
+            return instructor;
23
+
24
+    }
25
+}

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

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

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

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

+ 32
- 0
src/main/java/io/zipcoder/interfaces/Person.java View File

@@ -2,4 +2,36 @@ package io.zipcoder.interfaces;
2 2
 
3 3
 public class Person {
4 4
 
5
+    public final long id;
6
+    public String name;
7
+
8
+    //have two constructor but cannot call both of them at same time when creating object
9
+
10
+    public Person(){
11
+        id = 0;
12
+    }
13
+
14
+    public Person (String name, long id){
15
+        this.id = id;
16
+        this.name = name;
17
+    }
18
+
19
+    public Person(long id){
20
+
21
+        this.id = id;
22
+    }
23
+    public long getId(){
24
+
25
+        return id;
26
+    }
27
+
28
+    public String getName(){
29
+
30
+        return name;
31
+    }
32
+
33
+    public void setName(String name){
34
+        this.name = name;
35
+    }
36
+
5 37
 }

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

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

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

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

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

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

+ 38
- 0
src/main/java/io/zipcoder/interfaces/ZipcodeWilmington.java View File

@@ -0,0 +1,38 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import com.sun.org.apache.bcel.internal.generic.INSTANCEOF;
4
+
5
+public class ZipcodeWilmington {
6
+    private static final ZipcodeWilmington INSTANCE = new ZipcodeWilmington();
7
+    private static final Students students = Students.getInstance();
8
+    private static final Instructors instructors = Instructors.getInstance();
9
+
10
+
11
+    public static ZipcodeWilmington getInstance() {
12
+        return INSTANCE;
13
+    }
14
+
15
+    private ZipcodeWilmington() {}
16
+
17
+    public void hostLecture (Teacher teacher,double numOfHrs){
18
+        Student[] students1 = students.getArray();
19
+        teacher.Lecture(students1,numOfHrs);
20
+    }
21
+
22
+    public void hostLecture (long id,double numOfHrs){
23
+        Student[] students1 = students.getArray();
24
+        for (int i = 0; i < instructors.getCount(); i++){
25
+            if (instructors.personList.get(i).getId() == id){
26
+                instructors.personList.get(i).Lecture(students1,numOfHrs);
27
+            }
28
+        }
29
+    }
30
+
31
+    public static Students getStudents(){
32
+        return students;
33
+    }
34
+
35
+    public static Instructors getInstructors(){
36
+        return instructors;
37
+    }
38
+}

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

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

+ 24
- 0
src/test/java/io/zipcoder/interfaces/TestInstructors.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 TestInstructors {
7
+
8
+    @Test
9
+    public void getInstance(){
10
+        Instructors instructors1 = Instructors.getInstance();
11
+        Instructors instructors2 = Instructors.getInstance();
12
+
13
+        Assert.assertEquals(instructors1,instructors2);
14
+    }
15
+
16
+    @Test
17
+    public void theInitializationSetupStudents(){
18
+        Instructors instructors1 = Instructors.getInstance();
19
+        int expected = 4;
20
+        int actual = instructors1.getArray().length;
21
+        Assert.assertEquals(expected,actual);
22
+
23
+    }
24
+}

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

@@ -0,0 +1,75 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+public class TestPeople {
7
+
8
+    Person person1,person2;
9
+    Student student1;
10
+    Instructor instructor;
11
+    Students students;
12
+    Instructors instructors;
13
+
14
+    public TestPeople() {
15
+        students = Students.getInstance();
16
+        person1 = new Person("person1", 45);
17
+        person2 = new Person("person2", 55);
18
+        student1 = new Student("student1", 50);
19
+        instructor = new Instructor("instructor1", 54);
20
+        students.add(student1);
21
+    }
22
+
23
+    @Test
24
+    public void testAdd(){
25
+        //Given
26
+        Student newStudent = new Student("student2", 42);
27
+
28
+        //When
29
+        Integer expected = 41;
30
+        students.add(newStudent);
31
+        Integer actual = students.getCount();
32
+
33
+        //Then
34
+        Assert.assertEquals(expected,actual);
35
+    }
36
+
37
+    @Test
38
+    public void testFindById(){
39
+        //When
40
+        long expected = student1.getId();
41
+        Student actual = students.findById(50);
42
+
43
+        //Then
44
+        Assert.assertEquals(expected,actual.getId());
45
+    }
46
+
47
+    @Test
48
+    public void testRemoveTest(){
49
+        //When
50
+        Integer expected = 42;
51
+        students.removeById(50);
52
+        Integer actual = students.getCount();
53
+
54
+        //Then
55
+        Assert.assertEquals(expected,actual);
56
+    }
57
+
58
+    @Test
59
+    public void testRemoveAll(){
60
+        //Given
61
+        Instructors instructors = Instructors.getInstance();
62
+
63
+        //When
64
+        Integer expected = 4;
65
+        instructors.removeAll();
66
+        Integer actual = instructors.getCount();
67
+
68
+        //Then
69
+        Assert.assertEquals(expected,actual);
70
+
71
+    }
72
+
73
+
74
+
75
+}

+ 22
- 0
src/test/java/io/zipcoder/interfaces/TestPerson.java View File

@@ -1,5 +1,27 @@
1 1
 package io.zipcoder.interfaces;
2 2
 
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+
3 7
 public class TestPerson {
4 8
 
9
+    Person person = new Person("Nancy",1 );
10
+
11
+    @Test
12
+    public void testConstructor() {
13
+        long expected = 1;
14
+        long actual = person.getId();
15
+        Assert.assertEquals(expected,actual);
16
+    }
17
+
18
+    @Test
19
+    public void testSetAndGetName() {
20
+
21
+        String expected = "Nancy";
22
+        person.setName(expected);
23
+
24
+        Assert.assertEquals(expected, person.getName());
25
+
26
+    }
5 27
 }

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

@@ -0,0 +1,46 @@
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("Nancy",1);  //creating global new object
8
+
9
+    @Test
10
+    public void testImplementation() {
11
+/*
12
+        //Given
13
+        boolean expected = true;
14
+
15
+        //When
16
+        boolean actual = student instanceof Learner;
17
+
18
+        //Then
19
+        Assert.assertEquals(expected, actual);*/
20
+
21
+        Assert.assertTrue(student instanceof Learner);
22
+
23
+    }
24
+
25
+    @Test
26
+    public void testInheritance (){
27
+
28
+    Assert.assertTrue(student instanceof Person);
29
+    }
30
+
31
+    @Test
32
+    public void testLearn(){
33
+
34
+        //Given
35
+
36
+        double numOfHrs = 10.0;
37
+        double expected = 10.0;
38
+
39
+        //When
40
+        student.learn(numOfHrs);
41
+
42
+        //Then
43
+        Assert.assertEquals(expected,student.getTotalStudyTime(), 0.0);
44
+    }
45
+}
46
+

+ 23
- 0
src/test/java/io/zipcoder/interfaces/TestStudents.java View File

@@ -0,0 +1,23 @@
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 getInstance(){
10
+        Students student =  Students.getInstance();
11
+        Students student1 =  Students.getInstance();
12
+
13
+        Assert.assertEquals(student,student1);
14
+    }
15
+
16
+    @Test
17
+    public void theInitializationSetupStudents(){
18
+        Students student = Students.getInstance();
19
+        int expected = 43;
20
+        int actual = student.getArray().length;
21
+        Assert.assertEquals(expected,actual);
22
+    }
23
+}

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

@@ -0,0 +1,30 @@
1
+package io.zipcoder.interfaces;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+public class TestZipCodeWilmington {
7
+
8
+    @Test
9
+    public void hostLecture(){
10
+        ZipcodeWilmington zcw = ZipcodeWilmington.getInstance();
11
+        Instructor instructor = zcw.getInstructors().getArray()[0];
12
+        zcw.hostLecture(instructor, 39);
13
+        double expected = 2;
14
+        double actual = zcw.getStudents().getArray()[0].getTotalStudyTime();
15
+
16
+        Assert.assertEquals(expected,actual, .1);
17
+        }
18
+
19
+    @Test
20
+    public void hostLectureById(){
21
+        ZipcodeWilmington zcw = ZipcodeWilmington.getInstance();
22
+        Instructor instructor = zcw.getInstructors().getArray()[0];
23
+        zcw.hostLecture(instructor.getId(),39);
24
+        double expected = 1;
25
+        double actual = zcw.getStudents().getArray()[0].getTotalStudyTime();
26
+
27
+        Assert.assertEquals(expected,actual,.1);
28
+
29
+    }
30
+}