Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions src/main/java/Cohort.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import java.util.ArrayList;
import java.util.List;

public class Cohort {

private List<Student> students;

public Cohort() {
this.students = new ArrayList<>();
}

public double getCohortAverage() {
double avg = 0;
for (Student student: this.getStudents()) {
avg += student.getGradeAverage();
}
return avg / this.getStudents().size();
}

public void addStudent(Student student){
students.add(student);
}

public List<Student> getStudents() {
return students;
}
}
38 changes: 38 additions & 0 deletions src/main/java/Student.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import java.util.ArrayList;

public class Student {

private long id;
private String name;
private ArrayList<Integer> 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 void addGrade(int grade) {
grades.add(grade);
}

public ArrayList<Integer> getGrades() {
return this.grades;
}

public double getGradeAverage() {
double sum = 0;
for (int grade : this.grades) {
sum += grade;
}
return sum / getGrades().size();
}
}
2 changes: 2 additions & 0 deletions src/test/java/CohortTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
public class CohortTest {
}
88 changes: 88 additions & 0 deletions src/test/java/StudentTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
import org.junit.Test;
import static org.junit.Assert.*;

public class StudentTest {

@Test
public void testIfStudentCanBeCreated(){
Student fer = new Student(1L, "fer");
Student nullStudent = null;
assertNotNull(fer);
assertNull(nullStudent);
}

@Test
public void testIfFieldsAreSet(){
Student fer = new Student(1L, "fer");
assertEquals(1L, fer.getId());
assertEquals("fer", fer.getName());

Student rosie = new Student(40L, "Rosie");
assertEquals(40L, rosie.getId());
assertEquals("Rosie", rosie.getName());
}

@Test
public void testIfAddGradeWorks(){
Student fer = new Student(1L, "fer");
assertEquals(0, fer.getGrades().size());
fer.addGrade(90);
assertEquals(1, fer.getGrades().size());
fer.addGrade(70);
assertEquals(2, fer.getGrades().size());
}

@Test
public void testIfGetGradesWorks(){
Student fer = new Student(1L, "fer");
fer.addGrade(90);
fer.addGrade(70);
assertSame(90, fer.getGrades().get(0));
assertSame(70, fer.getGrades().get(1));
}

@Test
public void testIfGetAVGWorks(){
Student fer = new Student(1L, "fer");
fer.addGrade(90);
fer.addGrade(70); // 160 / 2 = 80
assertEquals(80, fer.getGradeAverage(), 0);
fer.addGrade(50); // 210 / 3 = 70
assertEquals(70, fer.getGradeAverage(), 0);
}

@Test
public void testCreateStudent(){
Student fer = new Student(1L, "fer");
Student ryan = null;
assertNull(ryan);
assertNotNull(fer);
}

@Test
public void testStudentFields(){
Student fer = new Student(1L, "fer");
assertSame(1L, fer.getId());
assertSame("fer", fer.getName());
assertSame(0, fer.getGrades().size());
}


@Test
public void testAddGrade(){
Student fer = new Student(1L, "fer");
fer.addGrade(100);
assertSame(100, fer.getGrades().get(0));
fer.addGrade(80);
assertSame(80, fer.getGrades().get(1));
}

@Test
public void testAverageGrade(){
Student fer = new Student(1L, "fer");
fer.addGrade(100);
fer.addGrade(80);
assertEquals(90, fer.getGradeAverage(), 0);
}

}