diff --git a/src/main/java/com/dtcc/projects/ClassRoom.java b/src/main/java/com/dtcc/projects/ClassRoom.java new file mode 100644 index 0000000..997730a --- /dev/null +++ b/src/main/java/com/dtcc/projects/ClassRoom.java @@ -0,0 +1,39 @@ +package com.dtcc.projects; + +import java.util.ArrayList; +import java.util.HashMap; + +public class ClassRoom { + + private ArrayList students = new ArrayList(); //JavaAcademy.getStudents(); + private ArrayList instructors = new ArrayList(); // DelTech.getInstructors(); + private HashMap rosters= new HashMap(); + + + public HashMap getRoster(){ + for(Person p : students){ + rosters.put(p.getName(), p); + } + for(Person p : instructors){ + rosters.put(p.getName(), p); + } + + return rosters; +} + + public ArrayList getStudents() { + return students; + } + + public void setStudents(ArrayList students) { + this.students = students; + } + + public ArrayList getInstructors() { + return instructors; + } + + public void setInstructors(ArrayList instructors) { + this.instructors = instructors; + } +} diff --git a/src/main/java/com/dtcc/projects/DelTech.java b/src/main/java/com/dtcc/projects/DelTech.java new file mode 100644 index 0000000..32ace96 --- /dev/null +++ b/src/main/java/com/dtcc/projects/DelTech.java @@ -0,0 +1,28 @@ +package com.dtcc.projects; + +import java.util.ArrayList; + +public class DelTech { + + private static ArrayList instructorList = new ArrayList(); + static { // static initializer + String[] instructorNames = { "Brian", "Kaleb", "Zan"}; + for (String instructorName : instructorNames) { + Instructor instructor = new Instructor(instructorName); + hire(instructor); + } + } + + + public static void hire(Instructor instructor){ + instructorList.add(instructor); + } + + public static ArrayList getInstructors(){ + return instructorList; + } + + public static void fireStaff(ArrayList instructorList){ + instructorList.clear(); + } +} diff --git a/src/main/java/com/dtcc/projects/Instructor.java b/src/main/java/com/dtcc/projects/Instructor.java new file mode 100644 index 0000000..fbd5d29 --- /dev/null +++ b/src/main/java/com/dtcc/projects/Instructor.java @@ -0,0 +1,18 @@ +package com.dtcc.projects; + +public class Instructor extends Person implements Teacher { + + public Instructor(String name){ + + } + + public void teach(Student student, double noOfHours) { + student.learn(noOfHours); + } + + public void lecture(Student[] student, double numberOfHours) { + Student[] students = new Student[10]; + double numberOfHoursPerStudent = numberOfHours / students.length; + + } +} diff --git a/src/main/java/com/dtcc/projects/JavaAcademy.java b/src/main/java/com/dtcc/projects/JavaAcademy.java new file mode 100644 index 0000000..852a2ee --- /dev/null +++ b/src/main/java/com/dtcc/projects/JavaAcademy.java @@ -0,0 +1,27 @@ +package com.dtcc.projects; + +import java.util.ArrayList; + +public class JavaAcademy { + private static ArrayList studentList = new ArrayList(); + static { // static initializer + String[] studentNames = { "Jessica", "Emad", "Cedric", "Lolu", "Apoorva", "Vara", "Craig", "Robert", + "Stephen", "Ferdinand", "Charu" }; + for (String studentName : studentNames) { + Student student = new Student(studentName); + studentList.add(student); + } + } + + public static void recruitStudent(Student student){ + studentList.add(student); + + } + public static ArrayList getStudents(){ + return studentList; + } + public static void removeStudents(ArrayList students){ + studentList.clear(); + } + +} diff --git a/src/main/java/com/dtcc/projects/Learner.java b/src/main/java/com/dtcc/projects/Learner.java new file mode 100644 index 0000000..f3b41da --- /dev/null +++ b/src/main/java/com/dtcc/projects/Learner.java @@ -0,0 +1,6 @@ +package com.dtcc.projects; + +public interface Learner { + + public void learn(double numberOfHours); +} diff --git a/src/main/java/com/dtcc/projects/Person.java b/src/main/java/com/dtcc/projects/Person.java index ff9713e..3c4e9a8 100644 --- a/src/main/java/com/dtcc/projects/Person.java +++ b/src/main/java/com/dtcc/projects/Person.java @@ -1,4 +1,20 @@ package com.dtcc.projects; public class Person { + private String name; + + public Person(){} + + public Person(String name){ +this.name = name; + } + + + public void setName(String name){ + this.name = name; + } + + public String getName(){ + return this.name; + } } diff --git a/src/main/java/com/dtcc/projects/Student.java b/src/main/java/com/dtcc/projects/Student.java new file mode 100644 index 0000000..331649b --- /dev/null +++ b/src/main/java/com/dtcc/projects/Student.java @@ -0,0 +1,23 @@ +package com.dtcc.projects; + +public class Student extends Person implements Learner{ + private double totalStudyTime = 0.0; + + public Student(String studentName) { + } + + public Student() { + + } + + public void learn(double numberOfHours) { + this.totalStudyTime += numberOfHours; + } + public double getTotalStudyTime(){ + return this.totalStudyTime; + } + public void setTotalStudyTime(double numberOfHours){ + this.totalStudyTime = numberOfHours; + + } +} diff --git a/src/main/java/com/dtcc/projects/Teacher.java b/src/main/java/com/dtcc/projects/Teacher.java new file mode 100644 index 0000000..b2a0b25 --- /dev/null +++ b/src/main/java/com/dtcc/projects/Teacher.java @@ -0,0 +1,8 @@ +package com.dtcc.projects; + +public interface Teacher { + + public void teach(Student student, double noOfHours); + + public void lecture(Student[] student, double noOfHours); +} diff --git a/src/test/java/com/dtcc/projects/TestClassRoom.java b/src/test/java/com/dtcc/projects/TestClassRoom.java new file mode 100644 index 0000000..a91d7ae --- /dev/null +++ b/src/test/java/com/dtcc/projects/TestClassRoom.java @@ -0,0 +1,43 @@ +package com.dtcc.projects; + +import org.junit.Test; + +import java.util.Collection; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.fail; + +public class TestClassRoom { + + + ClassRoom cr = new ClassRoom(); + @Test + public void hashMappingTest(){ + Set s = new HashSet(cr.getRoster().values()); + Iterator it = s.iterator(); + while(it.hasNext()){ + Person p = it.next(); + if(it.next() instanceof Student){ + if(!cr.getStudents().contains(p)){ + fail(); + } + } + if(it.next() instanceof Instructor){ + + if(!cr.getInstructors().contains(p)){ + fail(); + + } + + } + + } + + + } + + +} diff --git a/src/test/java/com/dtcc/projects/TestDelTech.java b/src/test/java/com/dtcc/projects/TestDelTech.java new file mode 100644 index 0000000..fbc13d6 --- /dev/null +++ b/src/test/java/com/dtcc/projects/TestDelTech.java @@ -0,0 +1,4 @@ +package com.dtcc.projects; + +public class TestDelTech { +} diff --git a/src/test/java/com/dtcc/projects/TestInstructor.java b/src/test/java/com/dtcc/projects/TestInstructor.java new file mode 100644 index 0000000..27732a4 --- /dev/null +++ b/src/test/java/com/dtcc/projects/TestInstructor.java @@ -0,0 +1,34 @@ +package com.dtcc.projects; + +import org.hamcrest.core.IsInstanceOf; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThat; + +public class TestInstructor { + + Instructor instructor = new Instructor("Brian"); + @Test + public void testImplementation(){ + assertThat(instructor, new IsInstanceOf(Teacher.class)); + + } + @Test + public void testInheritance(){ + assertThat(instructor, new IsInstanceOf(Person.class)); + } + @Test + public void testTeach(){ + Student s1 = new Student(); + instructor.teach(s1, 20); + assertEquals(20, s1.getTotalStudyTime(),0.001); + } + @Test + public void testLecture(){ + Student s2 = new Student(); + instructor.teach(s2, 20); + assertEquals(20, s2.getTotalStudyTime(),0.001); + + } +} diff --git a/src/test/java/com/dtcc/projects/TestJavaAcademy.java b/src/test/java/com/dtcc/projects/TestJavaAcademy.java new file mode 100644 index 0000000..a7b0634 --- /dev/null +++ b/src/test/java/com/dtcc/projects/TestJavaAcademy.java @@ -0,0 +1,34 @@ +package com.dtcc.projects; + +import org.junit.Before; +import org.junit.Test; + +import java.util.ArrayList; + +import static org.junit.Assert.*; + +public class TestJavaAcademy { + @Before + @Test + public void setup(){ +// ArrayList removeStudentList = new ArrayList(); +// removeStudentList.add("Tom"); + JavaAcademy.removeStudents(JavaAcademy.getStudents()); + + } +@Test + public void testRemoveStudents(){ + assertTrue(JavaAcademy.getStudents().isEmpty()); + + } + + @Test + public void testRecruitStudent(){ + Student Tom = new Student("Tom"); + JavaAcademy.recruitStudent(Tom); + assertTrue(JavaAcademy.getStudents().contains(Tom)); + + } + + +} diff --git a/src/test/java/com/dtcc/projects/TestPerson.java b/src/test/java/com/dtcc/projects/TestPerson.java index 040f78f..c7422fc 100644 --- a/src/test/java/com/dtcc/projects/TestPerson.java +++ b/src/test/java/com/dtcc/projects/TestPerson.java @@ -1,4 +1,29 @@ package com.dtcc.projects; +import org.junit.Assert; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + public class TestPerson { + + + + @Test + public void testsetname(){ + Person person = new Person(); + String expected = "Mongo"; + person.setName("Mongo"); + + Assert.assertEquals(expected, person.getName()); + + + } + @Test + public void testConstructor(){ + String expected = "Mongo"; + Person person1 = new Person("Mongo"); + Assert.assertEquals(expected, person1.getName()); + } + } diff --git a/src/test/java/com/dtcc/projects/TestStudent.java b/src/test/java/com/dtcc/projects/TestStudent.java new file mode 100644 index 0000000..6be1436 --- /dev/null +++ b/src/test/java/com/dtcc/projects/TestStudent.java @@ -0,0 +1,29 @@ +package com.dtcc.projects; +import com.dtcc.projects.Learner; + +import org.hamcrest.core.IsInstanceOf; +import org.junit.Test; +import org.hamcrest.BaseMatcher; + +import static org.junit.Assert.*; + +public class TestStudent { + Student student = new Student(); + + @Test + public void testImplementation(){ + assertThat(student, new IsInstanceOf(Learner.class)); + + } + @Test + public void testInheritance(){ + assertThat(student, new IsInstanceOf(Person.class)); + } + @Test + public void testLearn(){ + student.learn(5); + assertEquals(5, student.getTotalStudyTime(), 0.001); + } + + +} diff --git a/target/classes/com/dtcc/projects/ClassRoom.class b/target/classes/com/dtcc/projects/ClassRoom.class new file mode 100644 index 0000000..76bddb4 Binary files /dev/null and b/target/classes/com/dtcc/projects/ClassRoom.class differ diff --git a/target/classes/com/dtcc/projects/DelTech.class b/target/classes/com/dtcc/projects/DelTech.class new file mode 100644 index 0000000..95a2d36 Binary files /dev/null and b/target/classes/com/dtcc/projects/DelTech.class differ diff --git a/target/classes/com/dtcc/projects/Instructor.class b/target/classes/com/dtcc/projects/Instructor.class new file mode 100644 index 0000000..67ef08a Binary files /dev/null and b/target/classes/com/dtcc/projects/Instructor.class differ diff --git a/target/classes/com/dtcc/projects/JavaAcademy.class b/target/classes/com/dtcc/projects/JavaAcademy.class new file mode 100644 index 0000000..dd3732e Binary files /dev/null and b/target/classes/com/dtcc/projects/JavaAcademy.class differ diff --git a/target/classes/com/dtcc/projects/Learner.class b/target/classes/com/dtcc/projects/Learner.class new file mode 100644 index 0000000..87dea78 Binary files /dev/null and b/target/classes/com/dtcc/projects/Learner.class differ diff --git a/target/classes/com/dtcc/projects/Person.class b/target/classes/com/dtcc/projects/Person.class new file mode 100644 index 0000000..3093485 Binary files /dev/null and b/target/classes/com/dtcc/projects/Person.class differ diff --git a/target/classes/com/dtcc/projects/Student.class b/target/classes/com/dtcc/projects/Student.class new file mode 100644 index 0000000..4221a79 Binary files /dev/null and b/target/classes/com/dtcc/projects/Student.class differ diff --git a/target/classes/com/dtcc/projects/Teacher.class b/target/classes/com/dtcc/projects/Teacher.class new file mode 100644 index 0000000..86c76bd Binary files /dev/null and b/target/classes/com/dtcc/projects/Teacher.class differ diff --git a/target/test-classes/com/dtcc/projects/TestClassRoom.class b/target/test-classes/com/dtcc/projects/TestClassRoom.class new file mode 100644 index 0000000..83999b9 Binary files /dev/null and b/target/test-classes/com/dtcc/projects/TestClassRoom.class differ diff --git a/target/test-classes/com/dtcc/projects/TestDelTech.class b/target/test-classes/com/dtcc/projects/TestDelTech.class new file mode 100644 index 0000000..72a2f33 Binary files /dev/null and b/target/test-classes/com/dtcc/projects/TestDelTech.class differ diff --git a/target/test-classes/com/dtcc/projects/TestInstructor.class b/target/test-classes/com/dtcc/projects/TestInstructor.class new file mode 100644 index 0000000..e47d762 Binary files /dev/null and b/target/test-classes/com/dtcc/projects/TestInstructor.class differ diff --git a/target/test-classes/com/dtcc/projects/TestJavaAcademy.class b/target/test-classes/com/dtcc/projects/TestJavaAcademy.class new file mode 100644 index 0000000..39c9291 Binary files /dev/null and b/target/test-classes/com/dtcc/projects/TestJavaAcademy.class differ diff --git a/target/test-classes/com/dtcc/projects/TestPerson.class b/target/test-classes/com/dtcc/projects/TestPerson.class new file mode 100644 index 0000000..2ff796b Binary files /dev/null and b/target/test-classes/com/dtcc/projects/TestPerson.class differ diff --git a/target/test-classes/com/dtcc/projects/TestStudent.class b/target/test-classes/com/dtcc/projects/TestStudent.class new file mode 100644 index 0000000..a89075a Binary files /dev/null and b/target/test-classes/com/dtcc/projects/TestStudent.class differ