diff --git a/src/main/java/Student.java b/src/main/java/Student.java new file mode 100644 index 00000000..5297a78e --- /dev/null +++ b/src/main/java/Student.java @@ -0,0 +1,49 @@ +import java.util.ArrayList; + +public class Student { + private long id; + private String name; + private ArrayList grades; + + public Student(long id, String name) { + this.id = id; + this.name = name; + this.grades = new ArrayList<>(); + } + + public long getId() { + return this.id; + } + + public String getName() { + return this.name; + } + + public ArrayList getGrades() { + return this.grades; + } + + public ArrayList addGrade(int grade) { + this.grades.add(grade); + return this.grades; + + } + + public double getGradeAverage() { + int sum = 0; + for (int grade : grades) { + sum += grade; + } + return (double) sum / grades.size(); + } + + + public void updateGrade(int indexOf, int i) { + grades.set(indexOf, i); + } + + public void deleteGrade(Integer integer) { + grades.remove(integer); + System.out.println(grades); + } +} diff --git a/src/test/java/StudentTest.java b/src/test/java/StudentTest.java new file mode 100644 index 00000000..e343b7ac --- /dev/null +++ b/src/test/java/StudentTest.java @@ -0,0 +1,60 @@ +import org.junit.Test; +import static org.junit.Assert.*; +import org.junit.Before; + +public class StudentTest { + + Student student; + + @Before + public void setUpNewStudent() { + student = new Student(42337L, "Rodriques"); + } + + @Test + public void getIdTest() { + assertEquals(42337, student.getId(), 0); + assertNotEquals(" \"assertNotEquals()\" The unexpected id does match up with the actual id.",42338, student.getId(), 0); + } + + @Test + public void getNameTest() { + assertSame("Rodriques", student.getName()); + } + + @Test + public void gradesInitTest() { + assertNotNull(student.getGrades()); + } + + @Test + public void addGradeTest() { + student.addGrade(100); + assertEquals(1, student.getGrades().size(), 0); + student.addGrade(90); + assertEquals(2, student.getGrades().size(), 0); + + } + + @Test + public void getGradeAverageTest() { + student.addGrade(100); + student.addGrade(90); + assertEquals(95, student.getGradeAverage(), 0); + } + + @Test + public void updateGradeTest() { + student.addGrade(100); + student.addGrade(90); + student.updateGrade(student.getGrades().indexOf(90), 95); + } + + @Test + public void deleteGradeTest() { + student.addGrade(100); + student.addGrade(90); + student.addGrade(95); + student.deleteGrade(student.getGrades().get(1)); + } +} \ No newline at end of file