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
1 change: 0 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<groupId>junit-tests</groupId>
<artifactId>tests</artifactId>
<version>1.0-SNAPSHOT</version>

<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
Expand Down
47 changes: 47 additions & 0 deletions src/main/java/Cohort.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import java.util.ArrayList;
import java.util.List;
import java.util.LongSummaryStatistics;
import java.util.Map;

public class Cohort {

private List<Student> students;
private Map<Long, Student> studentMap; //New map to store students by ID

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;
}

public double calculateAverage() {
return 0;
}

public <Students> Student findStudentById(long id) {
for (Student student : students) {
if (student.getId() == id) {
return student;
}
}
return null;
}

public Student findStudentsById(long id) {
return null;
}
}
63 changes: 63 additions & 0 deletions src/main/java/Student.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
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 ArrayList<Integer> getGrades() {
return this.grades;
}

public void addGrade(int grade) {
this.grades.add(grade);
}

public double getGradeAverage() {
if (grades.isEmpty()) {
return 0;
}
int sum = 0;
for (int grade : grades) {
sum += grade;
}
return(double) sum / grades.size();
}

public void updateGrades(int index, int newGrade) {
if (index >= 0 && index < grades.size()) {
grades.set(index, newGrade);
}
}
public void deleteGrades(int index) {
if (index >= 0 && index < grades.size()) {
grades.remove(index);
}
}

public void deleteGrade(int i) {
}

public int getGrade() {
return 0;
}
}




44 changes: 44 additions & 0 deletions src/test/java/CohortTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import org.junit.Before;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

public class CohortTest {
private Cohort cohort;

@Before
public void setUp() {
cohort = new Cohort();
}

@Test
public void testAddStudent() {
Student student = new Student(80, "John Doe");
cohort.addStudent(student);
List<Student> students = cohort.getStudents();
assertEquals(1, students.size());
}

@Test
public void testGetStudents() {
Student student1 = new Student(80, "John Doe");
Student student2 = new Student(90, "Jane Smith");
cohort.addStudent(student1);
cohort.addStudent(student2);
List<Student> students = cohort.getStudents();
assertEquals(2, students.size());
assertTrue(students.contains(student1));
assertTrue(students.contains(student2));
}

@Test
public void testCalculateAverage() {
Student student1 = new Student(80, "John Doe");
Student student2 = new Student(90, "Jane Smith");
cohort.addStudent(student1);
cohort.addStudent(student2);
double average = cohort.calculateAverage();
}
}
69 changes: 69 additions & 0 deletions src/test/java/StudentTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

import java.util.ArrayList;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

public class StudentTest {
private Student student;

@Before
public void setUp() {
student = new Student(80, "John Doe");
}

@Test
public void testGetId() {
assertEquals("John Doe", student.getName());
}

@Test
public void testGetName() {
assertEquals("John Doe", student.getName());
}


@Test
public void testAddGrade() {
student.addGrade(90);
student.addGrade(85);
student.addGrade(92);
;

ArrayList<Integer> expectedGrades = new ArrayList<>();
expectedGrades.add(90);
expectedGrades.add(85);
expectedGrades.add(92);

assertEquals(expectedGrades, student.getGrades());

}

@Test
public void testGetGrades() {
ArrayList<Integer> grades = student.getGrades();
assertTrue(grades.isEmpty());
}

@Test
public void testGetGradeAverage() {
student.addGrade(90);
student.addGrade(85);
student.addGrade(92);

}

@Test

public void testUpdateGrade() {

student.addGrade(90);
student.addGrade(85);
student.addGrade(92);
int expectedGrades = 0;
assertEquals(expectedGrades, student.getGrade());
}
}