From e7309ae5003ba9052e99c9c045a9ca21ac942175 Mon Sep 17 00:00:00 2001 From: David Trombello Date: Wed, 30 Oct 2019 22:10:28 -0400 Subject: [PATCH 1/8] complies not complete --- src/main/java/io/zipcoder/Student.java | 97 +++++++++++++- src/test/java/io/zipcoder/StudentTest.java | 145 +++++++++++++++++++++ 2 files changed, 241 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/Student.java b/src/main/java/io/zipcoder/Student.java index b543e36..2682879 100644 --- a/src/main/java/io/zipcoder/Student.java +++ b/src/main/java/io/zipcoder/Student.java @@ -1,4 +1,99 @@ package io.zipcoder; +//import com.sun.javafx.binding.StringFormatter; + + + +import java.lang.reflect.Array; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.logging.Logger; + public class Student { -} + + //***Instance Fields*** + String firstName; + String lastName; + ArrayList examScores; + +//constructor method + + public Student(String firstName, String lastName, ArrayList examScores) { + this.firstName = firstName; + this.lastName = lastName; + this.examScores = examScores; + +//ArrayList examScores = new ArrayList<>(); +// Collections.addAll(examScores, testScores); + } + +//Getters and setters + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + + public String getFirstName() { + return this.firstName; + } + + public String getLastName() { + return this.lastName; + } + + public Integer getNumOfExamsTaken() { + return examScores.size(); + } + + //public ArrayList getEx + +//get exam scores method + + public String getExamScores(ArrayList examScores) { + + StringBuilder sb = new StringBuilder(); + sb.append("Exam Scores:\n"); + for (int i = 0; i < examScores.size(); i++){ + sb.append(String.format("\tExam %d -> %.1f\n" , i+1, examScores.get(i))); + } + + return sb.toString(); + } + + public String addExamScore(Double examScore, ArrayList examScores) + { + examScores.add(examScore); + //StringBuilder sb = new StringBuilder(); + return getExamScores(examScores); + } + + public String setExamScore(Integer examNumber, Double newScore, ArrayList examScores){ + examScores.set(examNumber-1, newScore); + return getExamScores(examScores); + } + + public Double getAverageExamScore (ArrayList examScores){ +// Long sum = Long.valueOf(0); +// Long result = Long.valueOf(0); +// Long numOfScores = Long.valueOf(examScores.size()); + + double sum = 0; + double numOfScores = examScores.size(); + double result =0; + + for (int i = 0; i < examScores.size(); i++) { + sum += examScores.get(i); + } + result = Math.round(sum / numOfScores); + return result; + } + + +} \ No newline at end of file diff --git a/src/test/java/io/zipcoder/StudentTest.java b/src/test/java/io/zipcoder/StudentTest.java index a9fedec..ba7e954 100644 --- a/src/test/java/io/zipcoder/StudentTest.java +++ b/src/test/java/io/zipcoder/StudentTest.java @@ -1,5 +1,150 @@ package io.zipcoder; +import org.junit.Assert; +import org.junit.Test; + +import java.lang.reflect.Array; +import java.util.ArrayList; +import java.util.Arrays; + public class StudentTest { + @Test + public void testConstructor() { + // Given + String expectedFirstName = "David"; + String expectedLastName = "Trombello"; + ArrayList expectedScores = new ArrayList(Arrays.asList(67D, 98D)); + + // When + Student testStudent = new Student (expectedFirstName, expectedLastName, expectedScores); + + // Then + String actualFirstName = testStudent.getFirstName(); + String actualLastName = testStudent.getLastName(); + ArrayList actualScores = new ArrayList(Arrays.asList(67D,98D)); + + Assert.assertEquals(expectedFirstName, actualFirstName); + Assert.assertEquals(expectedLastName, actualLastName); + Assert.assertEquals(expectedScores, actualScores); + } + + + @Test + public void setFirstNameTest() { + + // Given + ArrayList expectedScores = new ArrayList(Arrays.asList(67D, 98D)); + Student testStudent = new Student("Mike", "Doe", expectedScores); + String expected = "John"; + + // When + testStudent.setFirstName(expected); + String actual = testStudent.getFirstName(); + + // Then + Assert.assertEquals(expected, actual); + } + + @Test + public void getFirstNameTest() { + + // Given + ArrayList expectedScores = new ArrayList(Arrays.asList(67D, 98D)); + + Student testStudent = new Student("Mike", "Doe", expectedScores); + String expected = "John"; + + // When + testStudent.setFirstName(expected); + String actual = testStudent.getFirstName(); + + // Then + Assert.assertEquals(expected, actual); + } + + + @Test + public void setLastNameTest() { + + // Given + ArrayList expectedScores = new ArrayList(Arrays.asList(67D, 98D)); + Student testStudent = new Student("Mike", "Doe", expectedScores); + String expected = "Tyson"; + + // When + testStudent.setLastName(expected); + String actual = testStudent.getLastName(); + + // Then + Assert.assertEquals(expected, actual); + } + + @Test + public void getLastNameTest() { + + // Given + ArrayList expectedScores = new ArrayList(Arrays.asList(67D, 98D)); + Student testStudent = new Student("Mike", "Doe", expectedScores); + String expected = "Tyson"; + + // When + testStudent.setLastName(expected); + String actual = testStudent.getLastName(); + + // Then + Assert.assertEquals(expected, actual); + } + + @Test + public void getNumberOfExamsTakenTest(){ + ArrayList expectedScores = new ArrayList<>(Arrays.asList(90D, 87D, 99D)); + //Double[] expectedScores = {90D, 87D, 99D}; + Student testStudent = new Student("Mike", "Doe", expectedScores); + Integer expected = expectedScores.size(); + Integer actual= testStudent.getNumOfExamsTaken(); + Assert.assertEquals(expected,actual); + + } + + @Test + public void printExamScores(){ + ArrayList actualScores = new ArrayList<>(Arrays.asList(90D, 87D, 99D)); + Student testStudent = new Student("Mike", "Doe", actualScores); + String actual = testStudent.getExamScores(actualScores); + String expected =("Exam Scores:\n" + "\tExam 1 -> 90.0\n" + "\tExam 2 -> 87.0\n" + "\tExam 3 -> 99.0\n"); + Assert.assertEquals(expected, actual); + //System.out.println(actual); + } + + @Test + public void addExamScoreTest(){ + ArrayList actualScores = new ArrayList<>(Arrays.asList(90D, 87D, 99D)); + Student testStudent = new Student("Mike", "Doe", actualScores); + String actual = testStudent.addExamScore(95D, actualScores); + String expected =("Exam Scores:\n" + "\tExam 1 -> 90.0\n" + "\tExam 2 -> 87.0\n" + "\tExam 3 -> 99.0\n" + "\tExam 4 -> 95.0\n"); + Assert.assertEquals(expected,actual); + //System.out.println(actual); + } + + @Test + public void setExamScoreTest(){ + ArrayList actualScores = new ArrayList<>(Arrays.asList(90D, 87D, 99D)); + Student testStudent = new Student("Mike", "Doe", actualScores); + String actual = testStudent.setExamScore(2, 65D, actualScores); + String expected =("Exam Scores:\n" + "\tExam 1 -> 90.0\n" + "\tExam 2 -> 65.0\n" + "\tExam 3 -> 99.0\n"); + Assert.assertEquals(expected,actual); + //System.out.println(actual); + } + + @Test + public void getAverageExamScoreTest(){ + ArrayList actualScores = new ArrayList<>(Arrays.asList(90D, 87D, 99D)); + Student testStudent = new Student("Mike", "Doe", actualScores); + Double actual = testStudent.getAverageExamScore(actualScores); + double expected =92; + Assert.assertEquals(java.util.Optional.of(expected),actual); + System.out.println(actual); + } + } \ No newline at end of file From 6fde933c98c6af6ee1bb5fd1eaf1402c725d9e46 Mon Sep 17 00:00:00 2001 From: David Trombello Date: Thu, 31 Oct 2019 01:24:41 -0400 Subject: [PATCH 2/8] get average and test working --- src/main/java/io/zipcoder/Student.java | 23 +++++++++++++++------- src/test/java/io/zipcoder/StudentTest.java | 4 ++-- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/main/java/io/zipcoder/Student.java b/src/main/java/io/zipcoder/Student.java index 2682879..0893949 100644 --- a/src/main/java/io/zipcoder/Student.java +++ b/src/main/java/io/zipcoder/Student.java @@ -80,20 +80,29 @@ public String setExamScore(Integer examNumber, Double newScore, ArrayList examScores){ -// Long sum = Long.valueOf(0); -// Long result = Long.valueOf(0); -// Long numOfScores = Long.valueOf(examScores.size()); + Double sum = 0.0; + Double result = 0.0; + Double numOfScores = getNumOfExamsTaken()*1.0; - double sum = 0; - double numOfScores = examScores.size(); - double result =0; +// double sum = 0; +// double numOfScores = examScores.size(); +// double result = 0; for (int i = 0; i < examScores.size(); i++) { sum += examScores.get(i); } - result = Math.round(sum / numOfScores); + result = (sum / numOfScores); + System.out.println(result); return result; + } + public String printToString(){ + StringBuilder sb= new StringBuilder(); + //sb.append("Student Name: %s %s\n", firstName, lastName); +return ""; + } + // } + } \ No newline at end of file diff --git a/src/test/java/io/zipcoder/StudentTest.java b/src/test/java/io/zipcoder/StudentTest.java index ba7e954..20d4d9a 100644 --- a/src/test/java/io/zipcoder/StudentTest.java +++ b/src/test/java/io/zipcoder/StudentTest.java @@ -142,8 +142,8 @@ public void getAverageExamScoreTest(){ ArrayList actualScores = new ArrayList<>(Arrays.asList(90D, 87D, 99D)); Student testStudent = new Student("Mike", "Doe", actualScores); Double actual = testStudent.getAverageExamScore(actualScores); - double expected =92; - Assert.assertEquals(java.util.Optional.of(expected),actual); + Double expected =92.0; + Assert.assertEquals(expected,actual); System.out.println(actual); } From 5b3eb53634ae60076ce3897d0575e973930e9d0f Mon Sep 17 00:00:00 2001 From: David Trombello Date: Fri, 1 Nov 2019 22:07:17 -0400 Subject: [PATCH 3/8] Most tests written and pass --- src/main/java/Classroom.java | 62 ++++++++++ src/main/java/io/zipcoder/Student.java | 27 +++-- src/test/java/ClassRoomTest.java | 126 +++++++++++++++++++++ src/test/java/io/zipcoder/StudentTest.java | 31 ++++- 4 files changed, 232 insertions(+), 14 deletions(-) create mode 100644 src/main/java/Classroom.java create mode 100644 src/test/java/ClassRoomTest.java diff --git a/src/main/java/Classroom.java b/src/main/java/Classroom.java new file mode 100644 index 0000000..457c9b1 --- /dev/null +++ b/src/main/java/Classroom.java @@ -0,0 +1,62 @@ +import io.zipcoder.Student; + + + +import java.util.ArrayList; +import java.util.List; + +public class Classroom { + + //instance variables + private ArrayList students; + private Integer maxNumberOfStudents; + + //Nullary Constructor + public Classroom() { + students = new ArrayList(30); + this.students = students; + } + + //Constructor with int maxNumberOfStudents + public Classroom(Integer maxNumberOfStudents) { + this.maxNumberOfStudents = maxNumberOfStudents; + } + + //Constructor with the students representative of the collection of student objects this classroom will store. + public Classroom(ArrayList students) { + this.students = students; + } + + + //Getters + public ArrayList getStudents() { + return students; + } + + public Integer getMaxNumOfStudents() { + return maxNumberOfStudents; + } + + public Double getAverageExamScore() { + Double totalExamScores = 0.0; + int numOfStudents = students.size(); + + for (int i = 0; i < students.size(); i++) { + totalExamScores += students.get(i).getAverageExamScore(); + } + return totalExamScores / numOfStudents; + } + + public String addStudent (Student studentToAdd){ + students.add(studentToAdd); + StringBuilder sb = new StringBuilder(); + sb.append("\n========================================\n"); + sb.append(studentToAdd.printToString()); + sb.append("\n========================================"); + return sb.toString(); + } + +} + + + diff --git a/src/main/java/io/zipcoder/Student.java b/src/main/java/io/zipcoder/Student.java index 0893949..9f0067d 100644 --- a/src/main/java/io/zipcoder/Student.java +++ b/src/main/java/io/zipcoder/Student.java @@ -4,7 +4,9 @@ +import java.lang.instrument.ClassDefinition; import java.lang.reflect.Array; +import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -14,9 +16,9 @@ public class Student { //***Instance Fields*** - String firstName; - String lastName; - ArrayList examScores; + private String firstName; + private String lastName; + private ArrayList examScores; //constructor method @@ -52,7 +54,9 @@ public Integer getNumOfExamsTaken() { return examScores.size(); } - //public ArrayList getEx + public ArrayList getUnformatttedExamScores(){ + return examScores; + } //get exam scores method @@ -79,7 +83,7 @@ public String setExamScore(Integer examNumber, Double newScore, ArrayList examScores){ + public Double getAverageExamScore (){ Double sum = 0.0; Double result = 0.0; Double numOfScores = getNumOfExamsTaken()*1.0; @@ -92,15 +96,20 @@ public Double getAverageExamScore (ArrayList examScores){ sum += examScores.get(i); } result = (sum / numOfScores); - System.out.println(result); - return result; + DecimalFormat df = new DecimalFormat("#.#"); + + return Double.parseDouble(df.format(result)); } public String printToString(){ StringBuilder sb= new StringBuilder(); - //sb.append("Student Name: %s %s\n", firstName, lastName); -return ""; + sb.append(String.format("Student Name: %s %s\n", firstName, lastName)); + sb.append(String.format("Average Score: %.1f\n", getAverageExamScore())); + sb.append(getExamScores(examScores)); + return sb.toString(); } + + // } diff --git a/src/test/java/ClassRoomTest.java b/src/test/java/ClassRoomTest.java new file mode 100644 index 0000000..d373ed7 --- /dev/null +++ b/src/test/java/ClassRoomTest.java @@ -0,0 +1,126 @@ +import io.zipcoder.Student; +import org.junit.Assert; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.Arrays; + +public class ClassRoomTest { + + @Test + public void nullaryConstructorTest(){ + // Given + ArrayList expectedStudents = new ArrayList(30); + + // When + Classroom testClass = new Classroom(); + + // Then + ArrayList actualStudents = testClass.getStudents(); + + Assert.assertEquals(expectedStudents, actualStudents); + } + + + @Test + public void maxStudentsConstructorTest(){ + // Given + Integer expected = 25; + + // When + Classroom testClass = new Classroom(expected); + + // Then + Integer actual = testClass.getMaxNumOfStudents(); + Assert.assertEquals(expected, actual); + + } + + @Test + public void getStudentsTest(){ + ArrayList examScoresTest = new ArrayList(Arrays.asList(85D, 75D, 90D )); + ArrayList examScoresTest2 = new ArrayList(Arrays.asList(88D, 90D, 92D )); + ArrayList examScoresTest3 = new ArrayList(Arrays.asList(88D, 90D, 92D )); + + Student testStudent1 = new Student("Peter", "Moogie", examScoresTest); + Student testStudent2 = new Student("Pope", "John Paul", examScoresTest2); + Student testStudent3 = new Student("May", "West", examScoresTest3); + + ArrayList expectedStudents = new ArrayList(Arrays.asList(testStudent1, testStudent2, testStudent3)); + + Classroom testClass = new Classroom(expectedStudents); + + ArrayList actual = testClass.getStudents(); + + Assert.assertEquals(expectedStudents, actual); + + + } + + @Test + public void studentObjectsConstructorTest(){ + // Given + ArrayList examScoresTest = new ArrayList(Arrays.asList(85D, 75D, 90D )); + ArrayList examScoresTest2 = new ArrayList(Arrays.asList(88D, 90D, 92D )); + ArrayList examScoresTest3 = new ArrayList(Arrays.asList(88D, 90D, 92D )); + + Student testStudent1 = new Student("Peter", "Moogie", examScoresTest); + Student testStudent2 = new Student("Pope", "John Paul", examScoresTest2); + Student testStudent3 = new Student("May", "West", examScoresTest3); + + ArrayList expectedStudents = new ArrayList(Arrays.asList(testStudent1, testStudent2, testStudent3)); + + // When + Classroom testClass = new Classroom(expectedStudents); + + // Then + ArrayList actualStudents = testClass.getStudents(); + + Assert.assertEquals(expectedStudents, actualStudents); + } + + @Test + public void getAverageExamScoreTest () { + // : Given + ArrayList s1Scores = new ArrayList(Arrays.asList(100.0, 150.0)); + ArrayList s2Scores = new ArrayList<>(Arrays.asList(225.0, 25.0)); + + Student testStudent1 = new Student("student", "one", s1Scores); + Student testStudent2 = new Student("student", "two", s2Scores); + + ArrayList testStudents = new ArrayList(Arrays.asList(testStudent1, testStudent2)); + Classroom classroom = new Classroom(testStudents); + + // When + Double output = classroom.getAverageExamScore(); + + // Then + System.out.println(output); + + } + + @Test + public void addStudentTest(){ + ArrayList s1Scores = new ArrayList(Arrays.asList(100.0, 150.0)); + ArrayList s2Scores = new ArrayList<>(Arrays.asList(225.0, 25.0)); + + Student testStudent1 = new Student("Petey", "Pablo", s1Scores); + Student testStudent2 = new Student("Lil", "Jon", s2Scores); + + //ArrayList testStudents = new ArrayList(Arrays.asList(testStudent1, testStudent2)); + Classroom classroom = new Classroom(2); + //String expectedResult = + + classroom.addStudent(testStudent1); + + + + + } + + + } + + + + diff --git a/src/test/java/io/zipcoder/StudentTest.java b/src/test/java/io/zipcoder/StudentTest.java index 20d4d9a..d58547a 100644 --- a/src/test/java/io/zipcoder/StudentTest.java +++ b/src/test/java/io/zipcoder/StudentTest.java @@ -14,7 +14,7 @@ public void testConstructor() { // Given String expectedFirstName = "David"; String expectedLastName = "Trombello"; - ArrayList expectedScores = new ArrayList(Arrays.asList(67D, 98D)); + ArrayList expectedScores = new ArrayList(Arrays.asList(67D, 98D)); // When Student testStudent = new Student (expectedFirstName, expectedLastName, expectedScores); @@ -22,7 +22,7 @@ public void testConstructor() { // Then String actualFirstName = testStudent.getFirstName(); String actualLastName = testStudent.getLastName(); - ArrayList actualScores = new ArrayList(Arrays.asList(67D,98D)); + ArrayList actualScores = testStudent.getUnformatttedExamScores(); Assert.assertEquals(expectedFirstName, actualFirstName); Assert.assertEquals(expectedLastName, actualLastName); @@ -108,7 +108,7 @@ public void getNumberOfExamsTakenTest(){ } @Test - public void printExamScores(){ + public void getExamScoresTest(){ ArrayList actualScores = new ArrayList<>(Arrays.asList(90D, 87D, 99D)); Student testStudent = new Student("Mike", "Doe", actualScores); String actual = testStudent.getExamScores(actualScores); @@ -141,10 +141,31 @@ public void setExamScoreTest(){ public void getAverageExamScoreTest(){ ArrayList actualScores = new ArrayList<>(Arrays.asList(90D, 87D, 99D)); Student testStudent = new Student("Mike", "Doe", actualScores); - Double actual = testStudent.getAverageExamScore(actualScores); + Double actual = testStudent.getAverageExamScore(); Double expected =92.0; Assert.assertEquals(expected,actual); - System.out.println(actual); + //System.out.println(actual); + } + + @Test + public void getAverageExamScoreTest2(){ + ArrayList actualScores = new ArrayList<>(Arrays.asList(97D, 87D, 99D)); + Student testStudent = new Student("Mike", "Doe", actualScores); + Double actual = testStudent.getAverageExamScore(); + Double expected =94.3; + Assert.assertEquals(expected,actual); + //System.out.println(actual); } + @Test + public void printToStringTest(){ + ArrayList actualScores = new ArrayList<>(Arrays.asList(97D, 87D, 99D)); + Student testStudent = new Student("Mike", "Doe", actualScores); + String actual = testStudent.printToString(); + String expected = ("Student Name: Mike Doe\n" + "Average Score: 94.3\n" + "Exam Scores:\n" + "\tExam 1 -> 97.0\n" + "\tExam 2 -> 87.0\n" + "\tExam 3 -> 99.0\n"); + Assert.assertEquals(expected, actual); + //System.out.println(actual); + } + + } \ No newline at end of file From 409da19de51a1bf721fc1fa7d4422fcb83545c41 Mon Sep 17 00:00:00 2001 From: David Trombello Date: Sat, 2 Nov 2019 01:12:03 -0400 Subject: [PATCH 4/8] add student method and test pass --- src/main/java/Classroom.java | 6 ++++-- src/test/java/ClassRoomTest.java | 15 +++++++++------ 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/main/java/Classroom.java b/src/main/java/Classroom.java index 457c9b1..4ebc564 100644 --- a/src/main/java/Classroom.java +++ b/src/main/java/Classroom.java @@ -20,6 +20,7 @@ public Classroom() { //Constructor with int maxNumberOfStudents public Classroom(Integer maxNumberOfStudents) { this.maxNumberOfStudents = maxNumberOfStudents; + students = new ArrayList<>(maxNumberOfStudents); } //Constructor with the students representative of the collection of student objects this classroom will store. @@ -48,14 +49,15 @@ public Double getAverageExamScore() { } public String addStudent (Student studentToAdd){ - students.add(studentToAdd); StringBuilder sb = new StringBuilder(); + students.add(studentToAdd); sb.append("\n========================================\n"); sb.append(studentToAdd.printToString()); - sb.append("\n========================================"); + sb.append("========================================"); return sb.toString(); } + } diff --git a/src/test/java/ClassRoomTest.java b/src/test/java/ClassRoomTest.java index d373ed7..5e290fb 100644 --- a/src/test/java/ClassRoomTest.java +++ b/src/test/java/ClassRoomTest.java @@ -1,4 +1,5 @@ import io.zipcoder.Student; + import org.junit.Assert; import org.junit.Test; @@ -101,21 +102,23 @@ public void getAverageExamScoreTest () { @Test public void addStudentTest(){ + Classroom classroom = new Classroom(3); ArrayList s1Scores = new ArrayList(Arrays.asList(100.0, 150.0)); ArrayList s2Scores = new ArrayList<>(Arrays.asList(225.0, 25.0)); Student testStudent1 = new Student("Petey", "Pablo", s1Scores); Student testStudent2 = new Student("Lil", "Jon", s2Scores); - //ArrayList testStudents = new ArrayList(Arrays.asList(testStudent1, testStudent2)); - Classroom classroom = new Classroom(2); - //String expectedResult = - - classroom.addStudent(testStudent1); - + ArrayList testStudents = new ArrayList(Arrays.asList(testStudent1)); + String expected = ("\n========================================\n" + "Student Name: Lil Jon\n" + + "Average Score: 125.0\n" + "Exam Scores:\n" + "\tExam 1 -> 225.0\n" + "\tExam 2 -> 25.0\n" + + "========================================"); + String actual = classroom.addStudent(testStudent2); + Assert.assertEquals(expected, actual); + //{ System.out.println(actual); } From f09fd775597fbcdf3a8c7dc29e7ec8ff509f506f Mon Sep 17 00:00:00 2001 From: David Trombello Date: Sat, 2 Nov 2019 14:28:19 -0400 Subject: [PATCH 5/8] Tests update --- src/main/java/Classroom.java | 20 ++++-- src/main/java/io/zipcoder/Student.java | 12 ++-- src/test/java/ClassRoomTest.java | 80 ++++++++++++++-------- src/test/java/io/zipcoder/StudentTest.java | 6 +- 4 files changed, 73 insertions(+), 45 deletions(-) diff --git a/src/main/java/Classroom.java b/src/main/java/Classroom.java index 4ebc564..488c3d4 100644 --- a/src/main/java/Classroom.java +++ b/src/main/java/Classroom.java @@ -48,15 +48,23 @@ public Double getAverageExamScore() { return totalExamScores / numOfStudents; } - public String addStudent (Student studentToAdd){ - StringBuilder sb = new StringBuilder(); + public void addStudent (Student studentToAdd){ + //StringBuilder sb = new StringBuilder(); students.add(studentToAdd); - sb.append("\n========================================\n"); - sb.append(studentToAdd.printToString()); - sb.append("========================================"); - return sb.toString(); +// sb.append("\n========================================\n"); +// sb.append(studentToAdd.printToString()); +// sb.append("========================================"); + //return sb.toString(); } + public void removeStudent (String firstName, String lastName){ + for (int i = 0; i < students.size(); i++) { + if(students.get(i).equals(firstName) && students.get(i).equals(lastName)){ + students.remove(i); + } + } + + } } diff --git a/src/main/java/io/zipcoder/Student.java b/src/main/java/io/zipcoder/Student.java index 9f0067d..a3b4349 100644 --- a/src/main/java/io/zipcoder/Student.java +++ b/src/main/java/io/zipcoder/Student.java @@ -60,7 +60,7 @@ public ArrayList getUnformatttedExamScores(){ //get exam scores method - public String getExamScores(ArrayList examScores) { + public String getExamScores() { StringBuilder sb = new StringBuilder(); sb.append("Exam Scores:\n"); @@ -71,16 +71,16 @@ public String getExamScores(ArrayList examScores) { return sb.toString(); } - public String addExamScore(Double examScore, ArrayList examScores) + public String addExamScore(Double examScore) { examScores.add(examScore); //StringBuilder sb = new StringBuilder(); - return getExamScores(examScores); + return getExamScores(); } - public String setExamScore(Integer examNumber, Double newScore, ArrayList examScores){ + public String setExamScore(Integer examNumber, Double newScore){ examScores.set(examNumber-1, newScore); - return getExamScores(examScores); + return getExamScores(); } public Double getAverageExamScore (){ @@ -105,7 +105,7 @@ public String printToString(){ StringBuilder sb= new StringBuilder(); sb.append(String.format("Student Name: %s %s\n", firstName, lastName)); sb.append(String.format("Average Score: %.1f\n", getAverageExamScore())); - sb.append(getExamScores(examScores)); + sb.append(getExamScores()); return sb.toString(); } diff --git a/src/test/java/ClassRoomTest.java b/src/test/java/ClassRoomTest.java index 5e290fb..6a86fc5 100644 --- a/src/test/java/ClassRoomTest.java +++ b/src/test/java/ClassRoomTest.java @@ -9,27 +9,27 @@ public class ClassRoomTest { @Test - public void nullaryConstructorTest(){ - // Given - ArrayList expectedStudents = new ArrayList(30); + public void nullaryConstructorTest() { + // Given + ArrayList expectedStudents = new ArrayList(30); - // When - Classroom testClass = new Classroom(); + // When + Classroom testClass = new Classroom(); - // Then - ArrayList actualStudents = testClass.getStudents(); + // Then + ArrayList actualStudents = testClass.getStudents(); - Assert.assertEquals(expectedStudents, actualStudents); - } + Assert.assertEquals(expectedStudents, actualStudents); + } @Test - public void maxStudentsConstructorTest(){ + public void maxStudentsConstructorTest() { // Given Integer expected = 25; // When - Classroom testClass = new Classroom(expected); + Classroom testClass = new Classroom(expected); // Then Integer actual = testClass.getMaxNumOfStudents(); @@ -38,10 +38,10 @@ public void maxStudentsConstructorTest(){ } @Test - public void getStudentsTest(){ - ArrayList examScoresTest = new ArrayList(Arrays.asList(85D, 75D, 90D )); - ArrayList examScoresTest2 = new ArrayList(Arrays.asList(88D, 90D, 92D )); - ArrayList examScoresTest3 = new ArrayList(Arrays.asList(88D, 90D, 92D )); + public void getStudentsTest() { + ArrayList examScoresTest = new ArrayList(Arrays.asList(85D, 75D, 90D)); + ArrayList examScoresTest2 = new ArrayList(Arrays.asList(88D, 90D, 92D)); + ArrayList examScoresTest3 = new ArrayList(Arrays.asList(88D, 90D, 92D)); Student testStudent1 = new Student("Peter", "Moogie", examScoresTest); Student testStudent2 = new Student("Pope", "John Paul", examScoresTest2); @@ -51,19 +51,19 @@ public void getStudentsTest(){ Classroom testClass = new Classroom(expectedStudents); - ArrayList actual = testClass.getStudents(); + ArrayList actual = testClass.getStudents(); - Assert.assertEquals(expectedStudents, actual); + Assert.assertEquals(expectedStudents, actual); } @Test - public void studentObjectsConstructorTest(){ + public void studentObjectsConstructorTest() { // Given - ArrayList examScoresTest = new ArrayList(Arrays.asList(85D, 75D, 90D )); - ArrayList examScoresTest2 = new ArrayList(Arrays.asList(88D, 90D, 92D )); - ArrayList examScoresTest3 = new ArrayList(Arrays.asList(88D, 90D, 92D )); + ArrayList examScoresTest = new ArrayList(Arrays.asList(85D, 75D, 90D)); + ArrayList examScoresTest2 = new ArrayList(Arrays.asList(88D, 90D, 92D)); + ArrayList examScoresTest3 = new ArrayList(Arrays.asList(88D, 90D, 92D)); Student testStudent1 = new Student("Peter", "Moogie", examScoresTest); Student testStudent2 = new Student("Pope", "John Paul", examScoresTest2); @@ -81,7 +81,7 @@ public void studentObjectsConstructorTest(){ } @Test - public void getAverageExamScoreTest () { + public void getAverageExamScoreTest() { // : Given ArrayList s1Scores = new ArrayList(Arrays.asList(100.0, 150.0)); ArrayList s2Scores = new ArrayList<>(Arrays.asList(225.0, 25.0)); @@ -101,8 +101,8 @@ public void getAverageExamScoreTest () { } @Test - public void addStudentTest(){ - Classroom classroom = new Classroom(3); + public void addStudentTest() { + ArrayList s1Scores = new ArrayList(Arrays.asList(100.0, 150.0)); ArrayList s2Scores = new ArrayList<>(Arrays.asList(225.0, 25.0)); @@ -110,17 +110,37 @@ public void addStudentTest(){ Student testStudent2 = new Student("Lil", "Jon", s2Scores); ArrayList testStudents = new ArrayList(Arrays.asList(testStudent1)); + Classroom classroom = new Classroom(testStudents); +// String expected = ("\n========================================\n" + "Student Name: Lil Jon\n" + +// "Average Score: 125.0\n" + "Exam Scores:\n" + "\tExam 1 -> 225.0\n" + "\tExam 2 -> 25.0\n" +// + "========================================"); - String expected = ("\n========================================\n" + "Student Name: Lil Jon\n" + - "Average Score: 125.0\n" + "Exam Scores:\n" + "\tExam 1 -> 225.0\n" + "\tExam 2 -> 25.0\n" - + "========================================"); + //classroom.addStudent(testStudent1); + classroom.addStudent(testStudent2); + Student actual = classroom.getStudents().get(1); + Student expected = testStudent2; + System.out.println(actual.getExamScores()); + //Assert.assertEquals(expected, actual); - String actual = classroom.addStudent(testStudent2); - Assert.assertEquals(expected, actual); //{ System.out.println(actual); } - +// @Test +// public void removeStudentTest(){ +// StringBuilder sb = new StringBuilder(); +// Classroom classroom = new Classroom(3); +// ArrayList s1Scores = new ArrayList(Arrays.asList(100.0, 150.0)); +// ArrayList s2Scores = new ArrayList<>(Arrays.asList(225.0, 25.0)); +// +// Student testStudent1 = new Student("Petey", "Pablo", s1Scores); +// Student testStudent2 = new Student("Lil", "Jon", s2Scores); + +// ArrayList testStudents = new ArrayList(Arrays.asList(testStudent1)); +// testStudents.addStudent +// testStudents = classroom.addStudent(testStudent2); +// String +// Assert.assertEquals(expected, actual); +//} } diff --git a/src/test/java/io/zipcoder/StudentTest.java b/src/test/java/io/zipcoder/StudentTest.java index d58547a..2b7817e 100644 --- a/src/test/java/io/zipcoder/StudentTest.java +++ b/src/test/java/io/zipcoder/StudentTest.java @@ -111,7 +111,7 @@ public void getNumberOfExamsTakenTest(){ public void getExamScoresTest(){ ArrayList actualScores = new ArrayList<>(Arrays.asList(90D, 87D, 99D)); Student testStudent = new Student("Mike", "Doe", actualScores); - String actual = testStudent.getExamScores(actualScores); + String actual = testStudent.getExamScores(); String expected =("Exam Scores:\n" + "\tExam 1 -> 90.0\n" + "\tExam 2 -> 87.0\n" + "\tExam 3 -> 99.0\n"); Assert.assertEquals(expected, actual); //System.out.println(actual); @@ -121,7 +121,7 @@ public void getExamScoresTest(){ public void addExamScoreTest(){ ArrayList actualScores = new ArrayList<>(Arrays.asList(90D, 87D, 99D)); Student testStudent = new Student("Mike", "Doe", actualScores); - String actual = testStudent.addExamScore(95D, actualScores); + String actual = testStudent.addExamScore(95D); String expected =("Exam Scores:\n" + "\tExam 1 -> 90.0\n" + "\tExam 2 -> 87.0\n" + "\tExam 3 -> 99.0\n" + "\tExam 4 -> 95.0\n"); Assert.assertEquals(expected,actual); //System.out.println(actual); @@ -131,7 +131,7 @@ public void addExamScoreTest(){ public void setExamScoreTest(){ ArrayList actualScores = new ArrayList<>(Arrays.asList(90D, 87D, 99D)); Student testStudent = new Student("Mike", "Doe", actualScores); - String actual = testStudent.setExamScore(2, 65D, actualScores); + String actual = testStudent.setExamScore(2, 65D); String expected =("Exam Scores:\n" + "\tExam 1 -> 90.0\n" + "\tExam 2 -> 65.0\n" + "\tExam 3 -> 99.0\n"); Assert.assertEquals(expected,actual); //System.out.println(actual); From c7a751b0fe6eeca12325e682b5cfcecf900d855e Mon Sep 17 00:00:00 2001 From: David Trombello Date: Sat, 2 Nov 2019 16:03:22 -0400 Subject: [PATCH 6/8] last two methods working on --- src/main/java/Classroom.java | 20 +++++++++++---- src/test/java/ClassRoomTest.java | 43 ++++++++++++++------------------ 2 files changed, 34 insertions(+), 29 deletions(-) diff --git a/src/main/java/Classroom.java b/src/main/java/Classroom.java index 488c3d4..903e621 100644 --- a/src/main/java/Classroom.java +++ b/src/main/java/Classroom.java @@ -1,11 +1,9 @@ import io.zipcoder.Student; +import java.util.*; -import java.util.ArrayList; -import java.util.List; - -public class Classroom { +public class Classroom implements Comparable{ //instance variables private ArrayList students; @@ -59,13 +57,25 @@ public void addStudent (Student studentToAdd){ public void removeStudent (String firstName, String lastName){ for (int i = 0; i < students.size(); i++) { - if(students.get(i).equals(firstName) && students.get(i).equals(lastName)){ + if(students.get(i).getFirstName().equals(firstName) && students.get(i).getLastName().equals(lastName)){ students.remove(i); } } + } + public ArrayList getStudentsByScore () { + HashMap studentDoubleHashMap = new HashMap<>(); + for (int i = 0; i < students.size(); i++) { + studentDoubleHashMap.put(students.get(i), students.get(i).getAverageExamScore()); + } + List> list = new LinkedList> (studentDoubleHashMap.entrySet()); + return null; } + @Override + public int compareTo(Student student) { + Student.get(this.first) + } } diff --git a/src/test/java/ClassRoomTest.java b/src/test/java/ClassRoomTest.java index 6a86fc5..19361e8 100644 --- a/src/test/java/ClassRoomTest.java +++ b/src/test/java/ClassRoomTest.java @@ -111,36 +111,31 @@ public void addStudentTest() { ArrayList testStudents = new ArrayList(Arrays.asList(testStudent1)); Classroom classroom = new Classroom(testStudents); -// String expected = ("\n========================================\n" + "Student Name: Lil Jon\n" + -// "Average Score: 125.0\n" + "Exam Scores:\n" + "\tExam 1 -> 225.0\n" + "\tExam 2 -> 25.0\n" -// + "========================================"); - //classroom.addStudent(testStudent1); classroom.addStudent(testStudent2); Student actual = classroom.getStudents().get(1); Student expected = testStudent2; - System.out.println(actual.getExamScores()); - //Assert.assertEquals(expected, actual); + //System.out.println(actual.printToString()); + Assert.assertEquals(expected, actual); + } + @Test + public void removeStudentTest(){ + ArrayList s1Scores = new ArrayList(Arrays.asList(100.0, 150.0)); + ArrayList s2Scores = new ArrayList<>(Arrays.asList(225.0, 25.0)); - //{ System.out.println(actual); - } -// @Test -// public void removeStudentTest(){ -// StringBuilder sb = new StringBuilder(); -// Classroom classroom = new Classroom(3); -// ArrayList s1Scores = new ArrayList(Arrays.asList(100.0, 150.0)); -// ArrayList s2Scores = new ArrayList<>(Arrays.asList(225.0, 25.0)); -// -// Student testStudent1 = new Student("Petey", "Pablo", s1Scores); -// Student testStudent2 = new Student("Lil", "Jon", s2Scores); - -// ArrayList testStudents = new ArrayList(Arrays.asList(testStudent1)); -// testStudents.addStudent -// testStudents = classroom.addStudent(testStudent2); -// String -// Assert.assertEquals(expected, actual); -//} + Student testStudent1 = new Student("Petey", "Pablo", s1Scores); + Student testStudent2 = new Student("Lil", "Jon", s2Scores); + + ArrayList testStudents = new ArrayList(Arrays.asList(testStudent1, testStudent2)); + + Classroom classroom = new Classroom(testStudents); + classroom.removeStudent("Petey", "Pablo"); + ArrayList expected = new ArrayList<>(Arrays.asList(testStudent2)); + ArrayList actual = classroom.getStudents(); + //System.out.println(actual); + Assert.assertEquals(expected, actual); +} } From b4780e9c8da9df97ab8473aec13a996720eb0956 Mon Sep 17 00:00:00 2001 From: David Trombello Date: Sun, 3 Nov 2019 22:28:00 -0500 Subject: [PATCH 7/8] all but last test completed --- src/main/java/Classroom.java | 85 ++++++++++++++--- src/main/java/io/zipcoder/Student.java | 12 ++- src/test/java/ClassRoomTest.java | 125 ++++++++++++++++++++++--- 3 files changed, 194 insertions(+), 28 deletions(-) diff --git a/src/main/java/Classroom.java b/src/main/java/Classroom.java index 903e621..8250de1 100644 --- a/src/main/java/Classroom.java +++ b/src/main/java/Classroom.java @@ -1,13 +1,16 @@ import io.zipcoder.Student; - +//import com.google.common.collect; import java.util.*; -public class Classroom implements Comparable{ +public class Classroom { //instance variables private ArrayList students; private Integer maxNumberOfStudents; + private static Map limits; + + //Nullary Constructor public Classroom() { @@ -62,21 +65,77 @@ public void removeStudent (String firstName, String lastName){ } } } - public ArrayList getStudentsByScore () { - HashMap studentDoubleHashMap = new HashMap<>(); - for (int i = 0; i < students.size(); i++) { - studentDoubleHashMap.put(students.get(i), students.get(i).getAverageExamScore()); + public ArrayList getStudentsByScore () { + Collections.sort(students); + return students; + } +//Tried creating some maps and things to sort the student data. Ended up using a custom comparator to sor the student list + +// for (int i = 0; i < students.size(); i++) { +// students.get(i).getAverageExamScore(); +// students.sort(Comparator.naturalOrder()); +// HashMap studentDoubleHashMap = new HashMap<>(); +// for (int i = 0; i < students.size(); i++) { +// studentDoubleHashMap.put(students.get(i), students.get(i).getAverageExamScore()); +// } + + public Map getGradeBook (){ + //Integer numOfStudentsInClass = students.size(); + String letterGrade = "I"; + //orders students by score + getStudentsByScore(); + //Limits for the tree map +// static { +// limits = new TreeMap<>(); +// limits.put(0.0 , "F"); +// limits.put(students.size()*0.11 , "D"); +// limits.put(students.size()*0.31, "C"); +// limits.put(students.size()*0.51, "B"); +// limits.put(students.size()*0.71, "B"); +// limits.put(students.size()* 0.9, "A"); + + TreeMap gradeMap = new TreeMap<>(); + +// gradeMap.put(90.0, "A"); +// gradeMap.put(71.0, "B"); +// gradeMap.put(51.0, "C"); +// gradeMap.put(11.0, "D"); +// gradeMap.put( 0.0, "F"); + + for (int i = 0; i < students.size(); i++ ){ + + if ( students.get(i).getAverageExamScore() >= 90){ + letterGrade = " A";} + else if (students.get(i).getAverageExamScore() <= 90 && students.get(i).getAverageExamScore() >= 71){ + letterGrade = " B";} + else if (students.get(i).getAverageExamScore() <= 70 && students.get(i).getAverageExamScore() >= 50){ + letterGrade= " C";} + else if (students.get(i).getAverageExamScore() <= 90 && students.get(i).getAverageExamScore() >= 71){ + letterGrade = " D";} + else { + letterGrade = " F";} + gradeMap.put(students.get(i), letterGrade); } - List> list = new LinkedList> (studentDoubleHashMap.entrySet()); - - return null; + return gradeMap; } - @Override - public int compareTo(Student student) { - Student.get(this.first) } -} + + // +//+ " " + letterGrade + +// students.get(i).getFirstName() + " " + students.get(i).getLastName()); +// RangeMap gradeLetter = ImmutableRangeMap.builder() +// .put(Range.closed(90, 100), "A") +// .put(Range.closed(60, 89), "B") +// // ... +// .build(); +// +// public String getGrade(String studentName) { +// int averageScore = getAverageExamGrade(studentName); +// return gradeLetter.get(averageScore); +// } + diff --git a/src/main/java/io/zipcoder/Student.java b/src/main/java/io/zipcoder/Student.java index a3b4349..793c85b 100644 --- a/src/main/java/io/zipcoder/Student.java +++ b/src/main/java/io/zipcoder/Student.java @@ -13,7 +13,7 @@ import java.util.List; import java.util.logging.Logger; -public class Student { +public class Student implements Comparable { //***Instance Fields*** private String firstName; @@ -110,7 +110,15 @@ public String printToString(){ } - // } + @Override + public int compareTo(Student other) { + //Sort by score in reverse order (high to low) + if(this.getAverageExamScore().compareTo(other.getAverageExamScore()) != 0) {return -1 * this.getAverageExamScore().compareTo(other.getAverageExamScore());} + //if scores are the same, use last name from a to z as the next check + else if (lastName.compareTo(other.lastName) != 0) {return lastName.compareTo(other.lastName);} + //if the last names are the same, use first name from a to z + else {return firstName.compareTo(other.firstName);} + } diff --git a/src/test/java/ClassRoomTest.java b/src/test/java/ClassRoomTest.java index 19361e8..359d7ce 100644 --- a/src/test/java/ClassRoomTest.java +++ b/src/test/java/ClassRoomTest.java @@ -3,8 +3,7 @@ import org.junit.Assert; import org.junit.Test; -import java.util.ArrayList; -import java.util.Arrays; +import java.util.*; public class ClassRoomTest { @@ -120,25 +119,125 @@ public void addStudentTest() { } @Test - public void removeStudentTest(){ - ArrayList s1Scores = new ArrayList(Arrays.asList(100.0, 150.0)); - ArrayList s2Scores = new ArrayList<>(Arrays.asList(225.0, 25.0)); + public void removeStudentTest() { + ArrayList s1Scores = new ArrayList(Arrays.asList(100.0, 150.0)); + ArrayList s2Scores = new ArrayList<>(Arrays.asList(225.0, 25.0)); - Student testStudent1 = new Student("Petey", "Pablo", s1Scores); - Student testStudent2 = new Student("Lil", "Jon", s2Scores); + Student testStudent1 = new Student("Petey", "Pablo", s1Scores); + Student testStudent2 = new Student("Lil", "Jon", s2Scores); - ArrayList testStudents = new ArrayList(Arrays.asList(testStudent1, testStudent2)); + ArrayList testStudents = new ArrayList(Arrays.asList(testStudent1, testStudent2)); - Classroom classroom = new Classroom(testStudents); - classroom.removeStudent("Petey", "Pablo"); - ArrayList expected = new ArrayList<>(Arrays.asList(testStudent2)); - ArrayList actual = classroom.getStudents(); + Classroom classroom = new Classroom(testStudents); + classroom.removeStudent("Petey", "Pablo"); + ArrayList expected = new ArrayList<>(Arrays.asList(testStudent2)); + ArrayList actual = classroom.getStudents(); //System.out.println(actual); Assert.assertEquals(expected, actual); -} + } + + @Test + public void getStudentsByScoreTest() { + ArrayList s1Scores = new ArrayList(Arrays.asList(10.0, 150.0)); + ArrayList s2Scores = new ArrayList<>(Arrays.asList(225.0, 25.0)); + ArrayList s3scores = new ArrayList<>(Arrays.asList(75.0, 125.0)); + + Student testStudent1 = new Student("Petey", "Pablo", s1Scores); + Student testStudent2 = new Student("Lil", "Jon", s2Scores); + Student testStudent3 = new Student("Anne", "Buttigeg", s3scores); + + ArrayList testStudents = new ArrayList(Arrays.asList(testStudent1, testStudent2, testStudent3)); + + ArrayList expected = new ArrayList<>(Arrays.asList(testStudent2, testStudent3, testStudent1)); + + Classroom classroom = new Classroom(testStudents); + + ArrayList actual = classroom.getStudentsByScore(); + +// Iterator myStudents = testStudents.iterator(); +// while (myStudents.hasNext()){ +// System.out.println(myStudents.next().printToString()); +// } + + Assert.assertEquals(expected, actual); + + + } + + @Test + public void getStudentsByScoreTest2() { + ArrayList s1Scores = new ArrayList(Arrays.asList(50.0, 150.0)); + ArrayList s2Scores = new ArrayList<>(Arrays.asList(120.0, 80.0)); + ArrayList s3scores = new ArrayList<>(Arrays.asList(200.0, 0.0)); + + Student testStudent1 = new Student("Petey", "Pablo", s1Scores); + Student testStudent2 = new Student("Lil", "Jon", s2Scores); + Student testStudent3 = new Student("Paul", "Bacchas", s3scores); + + ArrayList expected = new ArrayList<>(Arrays.asList(testStudent2, testStudent3, testStudent1)); + + ArrayList testStudents = new ArrayList(Arrays.asList(testStudent2, testStudent1, testStudent3)); + + Classroom classroom = new Classroom(testStudents); + ArrayList actual = classroom.getStudentsByScore(); + Assert.assertEquals(expected, actual); } + @Test + public void getGradeBooKTest (){ + ArrayList s1Scores = new ArrayList(Arrays.asList(10.0, 150.0)); + ArrayList s2Scores = new ArrayList<>(Arrays.asList(70.0, 50.0)); + ArrayList s3scores = new ArrayList<>(Arrays.asList(95.0, 95.0)); + + Student testStudent1 = new Student("Petey", "Pablo", s1Scores); + Student testStudent2 = new Student("Lil", "Jon", s2Scores); + Student testStudent3 = new Student("Anne", "Buttigeg", s3scores); + + ArrayList testStudents = new ArrayList(Arrays.asList(testStudent1, testStudent2, testStudent3)); + + TreeMap expected = new TreeMap(testStudent2, testStudent3, testStudent1); + + Classroom classroom = new Classroom(testStudents); + + Map actual = classroom.getGradeBook(); + + for(Map.Entry entry : selects.entrySet()) { + String key = entry.getKey(); + HashMap value = entry.getValue(); + + Collection myStuff = actual.entrySet(); + //Spliterator sit = myStuff.entrySet().spliterator(); + System.out.println(actual); + //actual.forEach((k,v)) hm.forEach((k,v) -> System.out.println("key: "+k+" value:"+v));; + //Iterator itr = actual.iterator(); + + //Iterator<> myStudents = testStudents.iterator(); + //while (actual.hasNext()){ + //System.out.println(actual.next().printToString()); + +// public HashMap getGradeBook(){ +// gradeBookMap = new LinkedHashMap(); +// getStudentsByScore(); // sorts students by grade > lastName > firstName order before inserting into LinkedHashMap +// String letterGrade = "I"; +// for (int i = 0; i < students.size(); i++){ +// if (students.get(i).getAverageExamScore() <= 100 && students.get(i).getAverageExamScore() >= 90) {letterGrade = "A";} //possible bug - will not return a letter grade for scores above 100 +// else if (students.get(i).getAverageExamScore() < 90 && students.get(i).getAverageExamScore() >=71 ) {letterGrade = "B";} +// else if (students.get(i).getAverageExamScore() < 71 && students.get(i).getAverageExamScore() >=50 ) {letterGrade = "C";} +// else if (students.get(i).getAverageExamScore() < 50 && students.get(i).getAverageExamScore() >=11 ) {letterGrade = "D";} +// else if (students.get(i).getAverageExamScore() < 11 && students.get(i).getAverageExamScore() >=0 ) {letterGrade = "F";} +// else {letterGrade = "I";} //sets grade to "I" for "incomplete" if they don't have a grade or if there is an error in their grading +// gradeBookMap.put((students.get(i).getFirstName() + " " + students.get(i).getLastName()), letterGrade); +// } +// return gradeBookMap; +// } + } + +} + + + + From 9026fe4eb9dbdc8d8145340cbd04d3f8dbb34a31 Mon Sep 17 00:00:00 2001 From: David Trombello Date: Mon, 4 Nov 2019 09:31:25 -0500 Subject: [PATCH 8/8] all tests completed and pass --- src/test/java/ClassRoomTest.java | 48 +++++++++++++++++--------------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/src/test/java/ClassRoomTest.java b/src/test/java/ClassRoomTest.java index 359d7ce..8efb820 100644 --- a/src/test/java/ClassRoomTest.java +++ b/src/test/java/ClassRoomTest.java @@ -196,19 +196,37 @@ public void getGradeBooKTest (){ ArrayList testStudents = new ArrayList(Arrays.asList(testStudent1, testStudent2, testStudent3)); - TreeMap expected = new TreeMap(testStudent2, testStudent3, testStudent1); + //TreeMap expected = new TreeMap(testStudent2, testStudent3, testStudent1); Classroom classroom = new Classroom(testStudents); + TreeMap expected = new TreeMap(); + expected.put(testStudent3, " A"); + expected.put(testStudent1, " B"); + expected.put(testStudent2, " C"); + Map actual = classroom.getGradeBook(); - for(Map.Entry entry : selects.entrySet()) { - String key = entry.getKey(); - HashMap value = entry.getValue(); + Assert.assertEquals(expected,actual); + +// for (Map.Entry entry : actual.entrySet()) { +// System.out.println("Key: " + entry.getKey().printToString() + ". Value: " + entry.getValue()); + } +// for (Entry entry : tree.entrySet()) { +// String key = entry.getKey(); +// String value = entry.getValue(); +// +// System.out.printf("%s : %s\n", key, value); +// } + - Collection myStuff = actual.entrySet(); +// for(Map.Entry entry : selects.entrySet()) { +// String key = entry.getKey(); +// HashMap value = entry.getValue(); + + //Collection myStuff = actual.entrySet(); //Spliterator sit = myStuff.entrySet().spliterator(); - System.out.println(actual); + //System.out.println(actual); //actual.forEach((k,v)) hm.forEach((k,v) -> System.out.println("key: "+k+" value:"+v));; //Iterator itr = actual.iterator(); @@ -216,24 +234,10 @@ public void getGradeBooKTest (){ //while (actual.hasNext()){ //System.out.println(actual.next().printToString()); -// public HashMap getGradeBook(){ -// gradeBookMap = new LinkedHashMap(); -// getStudentsByScore(); // sorts students by grade > lastName > firstName order before inserting into LinkedHashMap -// String letterGrade = "I"; -// for (int i = 0; i < students.size(); i++){ -// if (students.get(i).getAverageExamScore() <= 100 && students.get(i).getAverageExamScore() >= 90) {letterGrade = "A";} //possible bug - will not return a letter grade for scores above 100 -// else if (students.get(i).getAverageExamScore() < 90 && students.get(i).getAverageExamScore() >=71 ) {letterGrade = "B";} -// else if (students.get(i).getAverageExamScore() < 71 && students.get(i).getAverageExamScore() >=50 ) {letterGrade = "C";} -// else if (students.get(i).getAverageExamScore() < 50 && students.get(i).getAverageExamScore() >=11 ) {letterGrade = "D";} -// else if (students.get(i).getAverageExamScore() < 11 && students.get(i).getAverageExamScore() >=0 ) {letterGrade = "F";} -// else {letterGrade = "I";} //sets grade to "I" for "incomplete" if they don't have a grade or if there is an error in their grading -// gradeBookMap.put((students.get(i).getFirstName() + " " + students.get(i).getLastName()), letterGrade); -// } -// return gradeBookMap; -// } +// } -} +