diff --git a/src/main/java/Student.java b/src/main/java/Student.java new file mode 100644 index 00000000..c2a68000 --- /dev/null +++ b/src/main/java/Student.java @@ -0,0 +1,37 @@ +import java.util.ArrayList; + +public class Student { + public long id; + public String name; + public ArrayList grades; + + public Student (long id, String name) { + this.id = id; + this.name = name; + grades = new ArrayList<>(); + } + + public long getId() { + return this.id; + } + + public String getName() { + return this.name; + } + + public void addGrade(int grade) { + grades.add(grade); + } + + public ArrayList getGrades() { + return this.grades; + } + + public double getGradeAverage() { + double total = 0; + for (Integer grade : grades) { + total += grade; + } + return total / grades.size(); + } +} diff --git a/src/test/java/StudentTest.java b/src/test/java/StudentTest.java new file mode 100644 index 00000000..4cae4714 --- /dev/null +++ b/src/test/java/StudentTest.java @@ -0,0 +1,54 @@ +import org.junit.Before; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.List; + +import static org.junit.Assert.*; + + +public class StudentTest { + private ArrayList tests; +// @Test +// public void testIfStudentClassHasCorrectProperties() { +// Student test = new Student(); +// assertEquals(test.id, 0); +// assertEquals(test.name, null); +// assertEquals(test.grades, null); +// } + + @Before + public void setUp() { + this.tests = new ArrayList<>(); + Student test01 = new Student(01, "test01"); + this.tests.add(test01); +; } + + @Test + public void testIfConstructorWorksProperly() { + Student test = new Student(01, "test"); + } + + @Test + public void testGetters() { + assertNotEquals(tests.get(0).getId(), 0); + assertNotEquals(tests.get(0).getName(), null); + assertEquals(tests.get(0).getId(), 01); + assertEquals(tests.get(0).getName(), "test01"); + } + + @Test + public void testAddAndGetGradeFunctionality() { + tests.get(0).addGrade(85); + ArrayList expected = new ArrayList<>(); + expected.add(85); + assertTrue(expected.equals(tests.get(0).getGrades())); + } + + @Test + public void testGetGradeAverage() { + tests.get(0).addGrade(90); + tests.get(0).addGrade(80); + assertTrue(85.0 == tests.get(0).getGradeAverage()); + } +}