diff --git a/.gitignore b/.gitignore
index c9bfc295..6d928738 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@
.classpath
#.project
.settings
+*.idea/
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 00000000..fdc60f4f
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 00000000..b26911bd
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__junit_junit_4_12.xml b/.idea/libraries/Maven__junit_junit_4_12.xml
new file mode 100644
index 00000000..d4110417
--- /dev/null
+++ b/.idea/libraries/Maven__junit_junit_4_12.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml
new file mode 100644
index 00000000..f58bbc11
--- /dev/null
+++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 00000000..2545dc75
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 00000000..711b3a53
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 00000000..35eb1ddf
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/interfaces-1.iml b/interfaces-1.iml
new file mode 100644
index 00000000..0ddf51c1
--- /dev/null
+++ b/interfaces-1.iml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/io/zipcoder/interfaces/Educator.java b/src/main/java/io/zipcoder/interfaces/Educator.java
new file mode 100644
index 00000000..844971cc
--- /dev/null
+++ b/src/main/java/io/zipcoder/interfaces/Educator.java
@@ -0,0 +1,35 @@
+package io.zipcoder.interfaces;
+
+public enum Educator implements Teacher {
+ SAM,
+ NICK,
+ FRANK,
+ CHRIS;
+
+ private final Instructor instructor;
+ private Double timeWorked = 0.0;
+
+ Educator() {
+
+ this.instructor = new Instructor((long) ordinal(), name());
+
+ }
+
+
+ public Double timeWorked() {
+
+ return timeWorked;
+ }
+
+ public void teach(Learner learner, double numberOfHours) {
+
+ timeWorked += numberOfHours;
+ this.instructor.teach(learner, numberOfHours);
+ }
+
+ public void lecture(Learner[] learners, double numberOfHours) {
+
+ timeWorked += numberOfHours;
+ this.instructor.lecture(learners, numberOfHours);
+ }
+}
diff --git a/src/main/java/io/zipcoder/interfaces/Instructor.java b/src/main/java/io/zipcoder/interfaces/Instructor.java
new file mode 100644
index 00000000..1cce7d62
--- /dev/null
+++ b/src/main/java/io/zipcoder/interfaces/Instructor.java
@@ -0,0 +1,26 @@
+package io.zipcoder.interfaces;
+
+public class Instructor extends Person implements Teacher {
+
+
+ public Instructor(Long id, String name) {
+ super(id, name);
+ }
+
+ public void teach(Learner learner, double numberOfHours) {
+
+ learner.learn(numberOfHours);
+
+ }
+
+ public void lecture(Learner[] learners, double numberOfHours) {
+
+ double hoursPerStudent = numberOfHours / learners.length;
+
+ for(Learner learner : learners)
+ learner.learn(hoursPerStudent);
+
+ }
+
+}
+
diff --git a/src/main/java/io/zipcoder/interfaces/Instructors.java b/src/main/java/io/zipcoder/interfaces/Instructors.java
new file mode 100644
index 00000000..481b7db6
--- /dev/null
+++ b/src/main/java/io/zipcoder/interfaces/Instructors.java
@@ -0,0 +1,29 @@
+package io.zipcoder.interfaces;
+
+public final class Instructors extends People{
+
+ private static final Instructors INSTANCE = new Instructors();
+
+ private Instructors(){
+
+ Instructor newInstructor1 = new Instructor(100L, "Rick");
+ Instructor newInstructor2 = new Instructor(110L, "Dana");
+ Instructor newInstructor3 = new Instructor(120L, "John");
+
+ super.add(newInstructor1);
+ super.add(newInstructor2);
+ super.add(newInstructor3);
+
+ }
+
+ public Instructor[] getArray() {
+ return super.personList.toArray(new Instructor[0]);
+ }
+
+ public static Instructors getInstance(){
+
+ return INSTANCE;
+ }
+
+}
+
diff --git a/src/main/java/io/zipcoder/interfaces/Learner.java b/src/main/java/io/zipcoder/interfaces/Learner.java
new file mode 100644
index 00000000..c7f06715
--- /dev/null
+++ b/src/main/java/io/zipcoder/interfaces/Learner.java
@@ -0,0 +1,9 @@
+package io.zipcoder.interfaces;
+
+public interface Learner {
+
+ void learn(double numberOfHours);
+ double getTotalStudyTime();
+
+
+}
diff --git a/src/main/java/io/zipcoder/interfaces/People.java b/src/main/java/io/zipcoder/interfaces/People.java
new file mode 100644
index 00000000..a2eb2c2a
--- /dev/null
+++ b/src/main/java/io/zipcoder/interfaces/People.java
@@ -0,0 +1,60 @@
+package io.zipcoder.interfaces;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+public abstract class People implements Iterable {
+
+ List personList;
+
+ public People(){
+
+ personList = new ArrayList();
+
+ }
+
+ public void add(E person){
+
+ personList.add(person);
+ }
+
+ public E findById(long id){
+
+ for(E person : personList)
+ if(person.getId() == id)
+ return person;
+
+ return null;
+ }
+
+ public boolean contains(Person person){
+
+ return personList.contains(person);
+ }
+
+ public void removeByPerson(Person person){
+
+ personList.remove(person);
+ }
+
+ public void removeById(long id) {
+ personList.remove(findById(id));
+ }
+
+ public void removeAll(){
+
+ personList.clear();
+ }
+
+ public int count(){
+
+ return personList.size();
+ }
+
+ public abstract E[] getArray();
+
+ public Iterator iterator() {
+ return personList.iterator();
+ }
+}
diff --git a/src/main/java/io/zipcoder/interfaces/PeopleClass.java b/src/main/java/io/zipcoder/interfaces/PeopleClass.java
new file mode 100644
index 00000000..1e9b41e6
--- /dev/null
+++ b/src/main/java/io/zipcoder/interfaces/PeopleClass.java
@@ -0,0 +1,9 @@
+package io.zipcoder.interfaces;
+
+public class PeopleClass extends People{
+
+ public Person[] getArray() {
+ return personList.toArray(new Person[0]);
+
+ }
+}
diff --git a/src/main/java/io/zipcoder/interfaces/Person.java b/src/main/java/io/zipcoder/interfaces/Person.java
index fc6a3ffe..4291254b 100644
--- a/src/main/java/io/zipcoder/interfaces/Person.java
+++ b/src/main/java/io/zipcoder/interfaces/Person.java
@@ -2,4 +2,25 @@
public class Person {
+ private final Long id;
+ private String name;
+
+ public Person(Long id, String name) {
+ this.id = id;
+ this.name = name;
+ }
+
+ public Long getId() {
+ return id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+
}
diff --git a/src/main/java/io/zipcoder/interfaces/Student.java b/src/main/java/io/zipcoder/interfaces/Student.java
new file mode 100644
index 00000000..32b7ff7e
--- /dev/null
+++ b/src/main/java/io/zipcoder/interfaces/Student.java
@@ -0,0 +1,19 @@
+package io.zipcoder.interfaces;
+
+public class Student extends Person implements Learner{
+
+ double totalStudyTime;
+
+ public Student(Long id, String name) {
+ super(id, name);
+ }
+
+ public void learn(double numberOfHours) {
+ totalStudyTime += numberOfHours;
+
+ }
+
+ public double getTotalStudyTime() {
+ return totalStudyTime;
+ }
+}
diff --git a/src/main/java/io/zipcoder/interfaces/Students.java b/src/main/java/io/zipcoder/interfaces/Students.java
new file mode 100644
index 00000000..c586b9ef
--- /dev/null
+++ b/src/main/java/io/zipcoder/interfaces/Students.java
@@ -0,0 +1,25 @@
+package io.zipcoder.interfaces;
+
+public final class Students extends People{
+
+ private static final Students INSTANCE = new Students();
+
+ private Students(){
+
+ Student newStudent1 = new Student(10L, "Sam");
+ Student newStudent2 = new Student(20L, "Dan");
+
+ super.add(newStudent1);
+ super.add(newStudent2);
+
+ }
+
+ public Student[] getArray() {
+ return super.personList.toArray(new Student[0]);
+ }
+
+ public static Students getInstance(){
+ return INSTANCE;
+ }
+
+}
diff --git a/src/main/java/io/zipcoder/interfaces/Teacher.java b/src/main/java/io/zipcoder/interfaces/Teacher.java
new file mode 100644
index 00000000..08909368
--- /dev/null
+++ b/src/main/java/io/zipcoder/interfaces/Teacher.java
@@ -0,0 +1,7 @@
+package io.zipcoder.interfaces;
+
+public interface Teacher {
+
+ void teach(Learner learner, double numberOfHours);
+ void lecture(Learner[] learners, double numberOfHours);
+}
diff --git a/src/main/java/io/zipcoder/interfaces/ZipCodeWilmington.java b/src/main/java/io/zipcoder/interfaces/ZipCodeWilmington.java
new file mode 100644
index 00000000..d6021c3a
--- /dev/null
+++ b/src/main/java/io/zipcoder/interfaces/ZipCodeWilmington.java
@@ -0,0 +1,50 @@
+package io.zipcoder.interfaces;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public final class ZipCodeWilmington {
+
+ private static final ZipCodeWilmington INSTANCE = new ZipCodeWilmington();
+
+ Students students = Students.getInstance();
+ Instructors instructors = Instructors.getInstance();
+ Map studyMap;
+
+ public ZipCodeWilmington() {
+
+ studyMap = new HashMap();
+
+ }
+
+ public void hostLecture(Teacher teacher, double numberOfHours) {
+
+ teacher.lecture(students.getArray(), numberOfHours);
+
+ }
+
+ public void hostLecture(Long id, double numberOfHours) {
+
+ Teacher teacher = instructors.findById(id);
+
+ teacher.lecture(students.getArray(), numberOfHours);
+
+ }
+
+ public Map getStudyMap() {
+
+ for (Student student : students) {
+
+ studyMap.put(student, student.getTotalStudyTime());
+ }
+
+ return studyMap;
+ }
+
+
+ public static ZipCodeWilmington getInstance(){
+
+ return INSTANCE;
+ }
+
+}
diff --git a/src/test/java/io/zipcoder/interfaces/EducatorTest.java b/src/test/java/io/zipcoder/interfaces/EducatorTest.java
new file mode 100644
index 00000000..fdd3bd32
--- /dev/null
+++ b/src/test/java/io/zipcoder/interfaces/EducatorTest.java
@@ -0,0 +1,68 @@
+package io.zipcoder.interfaces;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class EducatorTest {
+
+ @Test
+ public void implementationTest(){
+ Educator newEducator = Educator.FRANK;
+
+ Assert.assertTrue(newEducator instanceof Teacher);
+ }
+
+ @Test
+ public void getNumberOfHoursTaught() {
+ Educator educator = Educator.FRANK;
+ Student newStudent = new Student(7L, "Dan");
+
+ double expected = 10.0;
+
+ educator.teach(newStudent, expected);
+
+ double actual = educator.timeWorked();
+
+ Assert.assertEquals(expected, actual, 0);
+
+ }
+
+ @Test
+ public void teach() {
+ Educator educator = Educator.NICK;
+ Student newStudent = new Student(7L, "Dan");
+
+ double expected = 500.0;
+
+ educator.teach(newStudent, expected);
+
+ double actual = newStudent.getTotalStudyTime();
+
+ Assert.assertEquals(expected, actual, 0);
+ }
+
+ @Test
+ public void lecture() {
+ Educator educator = Educator.SAM;
+ Student newStudent1 = new Student(7L, "Dan");
+ Student newStudent2 = new Student(8L, "Jack");
+ Student newStudent3 = new Student(9L, "Bill");
+
+ Learner[] students = {newStudent1, newStudent2, newStudent3};
+
+ educator.lecture(students, 60.0);
+
+ double expected = 20.0;
+ double actual = newStudent3.getTotalStudyTime();
+
+ Assert.assertEquals(expected, actual, 0);
+ //------------------------------
+
+ double expected2 = 60.0;
+ double actual2 = educator.timeWorked();
+
+ Assert.assertEquals(expected2, actual2, 0);
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/io/zipcoder/interfaces/InstructorTest.java b/src/test/java/io/zipcoder/interfaces/InstructorTest.java
new file mode 100644
index 00000000..7f237b21
--- /dev/null
+++ b/src/test/java/io/zipcoder/interfaces/InstructorTest.java
@@ -0,0 +1,54 @@
+package io.zipcoder.interfaces;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class InstructorTest {
+
+ @Test
+ public void implementationTest(){
+ Instructor newInstructor = new Instructor(76L, "Sam");
+
+ Assert.assertTrue(newInstructor instanceof Teacher);
+ }
+
+ @Test
+ public void inheritanceTest(){
+ Instructor newInstructor = new Instructor(76L, "Sammy");
+
+ Assert.assertTrue(newInstructor instanceof Person);
+ }
+
+ @Test
+ public void teachTest(){
+ Instructor newInstructor = new Instructor(76L, "Sammy");
+ Student newStudent = new Student(7L, "Dan");
+ double expected = 500.0;
+
+ newInstructor.teach(newStudent, expected);
+
+ double actual = newStudent.getTotalStudyTime();
+
+ Assert.assertEquals(expected, actual, 0);
+ }
+
+ @Test
+ public void lectureTest(){
+ Instructor newInstructor = new Instructor(76L, "Sammy");
+ Student newStudent1 = new Student(7L, "Dan");
+ Student newStudent2 = new Student(8L, "Jack");
+ Student newStudent3 = new Student(9L, "Bill");
+
+ Learner[] students = {newStudent1, newStudent2, newStudent3};
+
+ newInstructor.lecture(students, 60.0);
+
+ double expected = 20.0;
+ double actual = newStudent3.getTotalStudyTime();
+
+ Assert.assertEquals(expected, actual, 0);
+ }
+
+}
\ No newline at end of file
diff --git a/src/test/java/io/zipcoder/interfaces/InstructorsTest.java b/src/test/java/io/zipcoder/interfaces/InstructorsTest.java
new file mode 100644
index 00000000..bf58e595
--- /dev/null
+++ b/src/test/java/io/zipcoder/interfaces/InstructorsTest.java
@@ -0,0 +1,40 @@
+package io.zipcoder.interfaces;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class InstructorsTest {
+
+ @Test
+ public void getInstanceTest() {
+
+ Instructors test = Instructors.getInstance();
+
+ int actual = test.personList.size();
+
+ Assert.assertEquals(3, actual);
+ }
+
+ @Test
+ public void getInstance2Test() {
+
+ Instructors test = Instructors.getInstance();
+
+ boolean person1 = false;
+ boolean person2 = false;
+
+ for(Person person : test.personList) {
+ if (person.getId().equals(100L) && person.getName().equals("Rick"))
+ person1 = true;
+ if(person.getId().equals(120L) && person.getName().equals("John"))
+ person2 = true;
+ }
+
+ Assert.assertTrue(person1);
+ Assert.assertTrue(person2);
+
+ }
+
+}
\ No newline at end of file
diff --git a/src/test/java/io/zipcoder/interfaces/PeopleTest.java b/src/test/java/io/zipcoder/interfaces/PeopleTest.java
new file mode 100644
index 00000000..bb4cbac3
--- /dev/null
+++ b/src/test/java/io/zipcoder/interfaces/PeopleTest.java
@@ -0,0 +1,94 @@
+package io.zipcoder.interfaces;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class PeopleTest {
+
+ @Test
+ public void addTest(){
+ People newPeople = new PeopleClass();
+ Person newPerson = new Person(98L, "Sam");
+
+ newPeople.add(newPerson);
+
+ int expected = 1;
+ int actual = newPeople.count();
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void removeTest(){
+ People newPeople = new PeopleClass();
+ Person newPerson = new Person(98L, "Sam");
+ Person newPerson2 = new Person(34L, "Mike");
+ Person newPerson3 = new Person(10L, "Julia");
+
+ newPeople.add(newPerson);
+ newPeople.add(newPerson2);
+ newPeople.add(newPerson3);
+
+ newPeople.removeByPerson(newPerson2);
+
+ int expected = 2;
+ int actual = newPeople.count();
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void removeByIdTest(){
+ People newPeople = new PeopleClass();
+ Person newPerson = new Person(98L, "Sam");
+ Person newPerson2 = new Person(34L, "Mike");
+ Person newPerson3 = new Person(10L, "Julia");
+
+ newPeople.add(newPerson);
+ newPeople.add(newPerson2);
+ newPeople.add(newPerson3);
+
+ newPeople.removeById(10L);
+
+ Assert.assertFalse(newPeople.contains(newPerson3));
+ }
+
+ @Test
+ public void RemoveAllTest() {
+
+ People newPeople = new PeopleClass();
+ Person newPerson = new Person(98L, "Sam");
+ Person newPerson2 = new Person(34L, "Mike");
+ Person newPerson3 = new Person(10L, "Julia");
+
+ newPeople.add(newPerson);
+ newPeople.add(newPerson2);
+ newPeople.add(newPerson3);
+
+ newPeople.removeAll();
+
+ int actual = newPeople.count();
+
+ Assert.assertEquals(0, actual);
+ }
+
+ @Test
+ public void findByIdTest(){
+
+ People newPeople = new PeopleClass();
+ Person newPerson = new Person(98L, "Sam");
+ Person newPerson2 = new Person(34L, "Mike");
+ Person newPerson3 = new Person(10L, "Julia");
+
+ newPeople.add(newPerson);
+ newPeople.add(newPerson2);
+ newPeople.add(newPerson3);
+
+ Person actual = newPeople.findById(34L);
+
+ Assert.assertEquals(newPerson2, actual);
+ }
+
+}
\ No newline at end of file
diff --git a/src/test/java/io/zipcoder/interfaces/StudentTest.java b/src/test/java/io/zipcoder/interfaces/StudentTest.java
new file mode 100644
index 00000000..031b481a
--- /dev/null
+++ b/src/test/java/io/zipcoder/interfaces/StudentTest.java
@@ -0,0 +1,40 @@
+package io.zipcoder.interfaces;
+
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class StudentTest {
+
+ @Test
+ public void implementationTest(){
+
+ Student newStudent = new Student(10L, "Thing One");
+
+ Assert.assertTrue(newStudent instanceof Learner);
+ }
+
+ @Test
+ public void inheritanceTest(){
+
+ Student newStudent = new Student(10L, "Thing Two");
+
+ Assert.assertTrue(newStudent instanceof Person);
+ }
+
+ @Test
+ public void learnTest(){
+
+ Student newStudent = new Student(80L, "Pam");
+
+ double expected = 90.0;
+ newStudent.learn(expected);
+
+ double actual = newStudent.getTotalStudyTime();
+
+ Assert.assertEquals(expected, actual, 0);
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/src/test/java/io/zipcoder/interfaces/StudentsTest.java b/src/test/java/io/zipcoder/interfaces/StudentsTest.java
new file mode 100644
index 00000000..c04a81f8
--- /dev/null
+++ b/src/test/java/io/zipcoder/interfaces/StudentsTest.java
@@ -0,0 +1,40 @@
+package io.zipcoder.interfaces;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class StudentsTest {
+
+ @Test
+ public void getInstanceTest() {
+
+ Students test = Students.getInstance();
+
+ int actual = test.personList.size();
+
+ Assert.assertEquals(2, actual);
+ }
+
+ @Test
+ public void getInstance2Test() {
+
+ Students test = Students.getInstance();
+
+ boolean person1 = false;
+ boolean person2 = false;
+
+ for(Person person : test.personList) {
+ if (person.getId().equals(10L) && person.getName().equals("Sam"))
+ person1 = true;
+ if(person.getId().equals(20L) && person.getName().equals("Dan"))
+ person2 = true;
+ }
+
+ Assert.assertTrue(person1);
+ Assert.assertTrue(person2);
+
+ }
+
+}
diff --git a/src/test/java/io/zipcoder/interfaces/TestPerson.java b/src/test/java/io/zipcoder/interfaces/TestPerson.java
index d64cd2f0..91bdcebb 100644
--- a/src/test/java/io/zipcoder/interfaces/TestPerson.java
+++ b/src/test/java/io/zipcoder/interfaces/TestPerson.java
@@ -1,5 +1,35 @@
package io.zipcoder.interfaces;
+import org.junit.Assert;
+import org.junit.Test;
+
public class TestPerson {
+ @Test
+ public void constructorTest(){
+ Long expectedId = 90L;
+ String expectedName = "Sandy";
+ Person newPerson = new Person(expectedId, expectedName);
+
+ Long actualId = newPerson.getId();
+ String actualName = newPerson.getName();
+
+ Assert.assertEquals(expectedId, actualId);
+ Assert.assertEquals(expectedName, actualName);
+
+ }
+
+ @Test
+ public void setNameTest(){
+ Person newPerson = new Person(10L, "");
+ String expected = "Sandy";
+
+ newPerson.setName(expected);
+ String actual = newPerson.getName();
+
+ Assert.assertEquals(expected, actual);
+
+ }
+
+
}
diff --git a/src/test/java/io/zipcoder/interfaces/ZipCodeWilmingtonTest.java b/src/test/java/io/zipcoder/interfaces/ZipCodeWilmingtonTest.java
new file mode 100644
index 00000000..0bd3dcc5
--- /dev/null
+++ b/src/test/java/io/zipcoder/interfaces/ZipCodeWilmingtonTest.java
@@ -0,0 +1,58 @@
+package io.zipcoder.interfaces;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.sql.SQLOutput;
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.*;
+
+public class ZipCodeWilmingtonTest {
+
+ ZipCodeWilmington zipCode = ZipCodeWilmington.getInstance();
+ Students students = Students.getInstance();
+ Educator educator;
+
+
+ @Test
+ public void hostLecture1() {
+
+ educator = Educator.CHRIS;
+ zipCode.hostLecture(educator, 20.0);
+
+ Student student = students.getArray()[0];
+
+ double expected = 20.0;
+ double actual = student.getTotalStudyTime();
+
+ Assert.assertEquals(expected, actual, 0);
+ }
+
+ @Test
+ public void hostLecture2(){
+
+ zipCode.hostLecture(100L, 20.0);
+
+ Student student = students.getArray()[0];
+
+ double expected = 30.0;
+ double actual = student.getTotalStudyTime();
+
+ Assert.assertEquals(expected, actual, 0);
+ }
+
+
+
+ @Test
+ public void getStudyMap() {
+
+ educator = Educator.SAM;
+ zipCode.hostLecture(educator, 20.0);
+
+ System.out.println(zipCode.getStudyMap().toString());
+
+ }
+}
\ No newline at end of file