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
49 changes: 49 additions & 0 deletions src/main/java/io/zipcoder/Classroom.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,53 @@
package io.zipcoder;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Classroom {
private Student[] student;
private Integer maxNumberOfStudents;

public Classroom(Integer maxNumberOfStudents){
this.student = new Student[maxNumberOfStudents];
}
public Classroom(Student[] student){
this.student = student;
}
public Classroom(){
this.student = new Student[30];
}
public Student[] getStudents() {
return student;
}
public Double getAverageExamScore(){
Double sumScore = 0.0;
for (Student thisStudent : student) {
sumScore += thisStudent.getAverageTestScores();
}
return sumScore/student.length;
}
public void addStudent(Student newStudent) {
for (int i = 0; i < student.length - 1; i++) {
if (student[i] == null) {
student[i] = newStudent;
}

}

}
public void removeStudent(String firstName, String lastName){
ArrayList<Student> newArrayList = new ArrayList<>(Arrays.asList(student));
for (int i = 0; i < student.length; i++) {
if(student[i].getFirstName().equals(firstName) && student[i].getLastName().equals(lastName)){
}
}
student = newArrayList.toArray(new Student[0]);
}
public void getStudentByScore(){
Arrays.sort(student);
}
public void getGradeBook(){

}
}
68 changes: 68 additions & 0 deletions src/main/java/io/zipcoder/Student.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,72 @@
package io.zipcoder;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashMap;

public class Student {
private String firstName;
private String lastName;
private ArrayList<Double> testScores;

public Student(String firstName, String lastName, Double[] testScores){
this.firstName = firstName;
this.lastName = lastName;
this.testScores = new ArrayList<Double>(Arrays.asList(testScores));
}

public String getFirstName() {
return firstName;
}

public void setFirstName(String firstName) {
this.firstName = firstName;
}

public String getLastName() {
return lastName;
}

public void setLastName(String lastName) {
this.lastName = lastName;
}

public String getExamScores() {
String result = "";
for (int i = 0; i < testScores.size(); i++){
result += "Exam " + (i + 1) + " score: " + testScores.get(i) + "\n";
}
return result;
/* LinkedHashMap<String,Double> map = new LinkedHashMap<>();
for (int i = 0; i < testScores.size(); i++) {
map.put("Exam " + (i + 1) + " score",testScores.get(i));
map.toString();
}
return map;*/
}

public void addExamScore(Double examScore){
testScores.add(examScore);
}

public Integer getNumberOfExamsTaken(Integer numberOfExams){
return testScores.size();
}
public void setExamScore(Integer examNumber, Double updatedScore) {
testScores.set(examNumber - 1, updatedScore);
}
public Double getAverageTestScores(){
Double sum = 0.0;
for (int i = 0; i < testScores.size(); i++) {
sum += testScores.get(i);
}
return sum / testScores.size();
}
public String toString(){
String newString = "";
String result = newString += "Student Name: " + firstName + " " + lastName + "\n" +
"> Average Score: " + this.getAverageTestScores() + "\n" +
"> Exam Scores: " + this.getExamScores() + "\n";
return result;
}
}
44 changes: 44 additions & 0 deletions src/test/java/io/zipcoder/ClassroomTest.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,48 @@
package io.zipcoder;

import org.junit.Test;

import java.util.Arrays;

public class ClassroomTest {
@Test
public void avgExamScoreTest(){
// : Given
Double[] s1Scores = { 100.0, 150.0 };
Double[] s2Scores = { 225.0, 25.0 };

Student s1 = new Student("student", "one", s1Scores);
Student s2 = new Student("student", "two", s2Scores);

Student[] students = {s1,s2};
Classroom classroom = new Classroom(students);

// When
double output = classroom.getAverageExamScore();

// Then
System.out.println(output);
}
@Test
public void addStudentTest(){
// : Given
int maxNumberOfStudents = 1;
Classroom classroom = new Classroom(maxNumberOfStudents);
Double[] examScores = { 100.0, 150.0, 250.0, 0.0 };
Student student = new Student("Leon", "Hunter", examScores);

// When
Student[] preEnrollment = classroom.getStudents();
classroom.addStudent(student);
Student[] postEnrollment = classroom.getStudents();

// Then
String preEnrollmentAsString = Arrays.toString(preEnrollment);
String postEnrollmentAsString = Arrays.toString(postEnrollment);

System.out.println("===========================");
System.out.println(preEnrollmentAsString);
System.out.println("===========================");
System.out.println(postEnrollmentAsString);
}
}
70 changes: 70 additions & 0 deletions src/test/java/io/zipcoder/StudentTest.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,75 @@
package io.zipcoder;

import org.junit.Assert;
import org.junit.Test;

import java.util.ArrayList;
import java.util.Arrays;

public class StudentTest {
@Test
public void getExamScoreTest(){
//given
Double[] examScores = {91.5,89.0,98.1,100.0};
Student student = new Student("Raymond","Fitzgerald", examScores );

//when
String output = "Exam " + 1 + " score: " + 91.5 + "\n" +
"Exam " + 2 + " score: " + 89.0 + "\n" +
"Exam " + 3 + " score: " + 98.1 + "\n" +
"Exam " + 4 + " score: " + 100.0 + "\n";
//then
Assert.assertEquals(output, student.getExamScores());
}
@Test
public void addExamTest(){
//given
Double[] examScore = {};
Student student = new Student("Raymond", "Fitzgerald", examScore);

//when
student.addExamScore(95.0);
String expected = "Exam " + 1 + " score: " + 95.0 + "\n";

//then
Assert.assertEquals(expected, student.getExamScores());
}
@Test
public void setExamScoreTest(){
//given
Double[] examScores = {100.0};
Student student = new Student("Raymond", "Fitzgerald", examScores);

//when
student.setExamScore(1, 150.0);
String output = student.getExamScores();

//then
System.out.println(output);
}
@Test
public void getAverageTestScoreTest(){
//given
Double[] examScores = { 100.0, 150.0, 250.0, 0.0 };
Student student = new Student("Raymond", "Fitzgerald", examScores);

//when
Double output = student.getAverageTestScores();
Double expected = 125.0;

//then
Assert.assertEquals(output,expected);
}
@Test
public void toStringTest() {
// : Given
Double[] examScores = {100.0, 150.0, 250.0, 0.0};
Student student = new Student("Raymond", "Fitzgerald", examScores);

// When
String output = student.toString();

// Then
System.out.println(output);
}
}
Binary file added target/classes/io/zipcoder/Classroom.class
Binary file not shown.
Binary file added target/classes/io/zipcoder/Student.class
Binary file not shown.
Binary file not shown.
Binary file added target/test-classes/io/zipcoder/StudentTest.class
Binary file not shown.