From 9e58b0a96bd295a560d99fed96222abb1c3d7b1e Mon Sep 17 00:00:00 2001 From: yeekian <53704991+yeekian@users.noreply.github.com> Date: Thu, 10 Oct 2024 23:28:23 +0800 Subject: [PATCH 1/9] Refactor list classes to extend List class --- src/main/java/TutorLink/command/Command.java | 8 ++-- .../AddAssignmentCommand.java | 5 ++- .../assignment_command/AssignmentCommand.java | 6 +-- .../DeleteAssignmentCommand.java | 7 +++- .../AddAttendanceCommand.java | 6 +-- .../attendance_command/AttendanceCommand.java | 4 +- .../DeleteAttendanceCommand.java | 5 ++- .../student_command/StudentCommand.java | 8 ++-- src/main/java/TutorLink/course/Course.java | 7 ++-- .../java/TutorLink/list/AssignmentList.java | 5 ++- .../java/TutorLink/list/AttendanceList.java | 5 ++- src/main/java/TutorLink/list/CourseList.java | 7 ++-- src/main/java/TutorLink/list/List.java | 4 ++ src/main/java/TutorLink/list/StudentList.java | 24 ++++++----- src/main/java/TutorLink/student/Student.java | 7 +++- .../TutorLink/list/AssignmentListTest.java | 3 +- .../java/TutorLink/list/StudentListTest.java | 40 +++++++++++++++++++ 17 files changed, 108 insertions(+), 43 deletions(-) create mode 100644 src/main/java/TutorLink/list/List.java diff --git a/src/main/java/TutorLink/command/Command.java b/src/main/java/TutorLink/command/Command.java index 3daf0dffad..933e6732ff 100644 --- a/src/main/java/TutorLink/command/Command.java +++ b/src/main/java/TutorLink/command/Command.java @@ -1,17 +1,17 @@ -package tutorlink.command; +package TutorLink.command; -import java.util.ArrayList; +import TutorLink.list.List; /** * Represents an interpreted Command from the user. A Command object corresponds to a * single user-issued command from the terminal. */ - public abstract class Command { /** * Executes the required operations to perform the command issued by the user. */ - abstract public void execute(ArrayList list); + abstract public void execute(List list); + /** * Checks if the command is an exit command. * diff --git a/src/main/java/TutorLink/command/assignment_command/AddAssignmentCommand.java b/src/main/java/TutorLink/command/assignment_command/AddAssignmentCommand.java index 33dd945991..9f7516f4ce 100644 --- a/src/main/java/TutorLink/command/assignment_command/AddAssignmentCommand.java +++ b/src/main/java/TutorLink/command/assignment_command/AddAssignmentCommand.java @@ -1,5 +1,6 @@ -package tutorlink.command.assignment_command; +package TutorLink.command.assignment_command; +import TutorLink.list.List; import tutorlink.assignment.Assignment; import java.util.ArrayList; @@ -10,7 +11,7 @@ public AddAssignmentCommand(Assignment assignment) { } @Override - public void execute(ArrayList assignmentList) { + public void execute(List list) { } diff --git a/src/main/java/TutorLink/command/assignment_command/AssignmentCommand.java b/src/main/java/TutorLink/command/assignment_command/AssignmentCommand.java index d7b9259498..e8ce1e44ac 100644 --- a/src/main/java/TutorLink/command/assignment_command/AssignmentCommand.java +++ b/src/main/java/TutorLink/command/assignment_command/AssignmentCommand.java @@ -1,7 +1,7 @@ -package tutorlink.command.assignment_command; +package TutorLink.command.assignment_command; +import TutorLink.command.Command; import tutorlink.assignment.Assignment; -import tutorlink.command.Command; import java.util.ArrayList; @@ -12,8 +12,6 @@ public AssignmentCommand(Assignment assignment) { this.assignment = assignment; } - public abstract void execute(ArrayList assignmentList); - public boolean isExit() { return false; } diff --git a/src/main/java/TutorLink/command/assignment_command/DeleteAssignmentCommand.java b/src/main/java/TutorLink/command/assignment_command/DeleteAssignmentCommand.java index 99bc94665c..49ff660413 100644 --- a/src/main/java/TutorLink/command/assignment_command/DeleteAssignmentCommand.java +++ b/src/main/java/TutorLink/command/assignment_command/DeleteAssignmentCommand.java @@ -1,5 +1,6 @@ -package tutorlink.command.assignment_command; +package TutorLink.command.assignment_command; +import TutorLink.list.List; import tutorlink.assignment.Assignment; import java.util.ArrayList; @@ -9,7 +10,9 @@ public DeleteAssignmentCommand(Assignment assignment) { super(assignment); } - public void execute(ArrayList assignmentList) { + + @Override + public void execute(List list) { } } diff --git a/src/main/java/TutorLink/command/attendance_command/AddAttendanceCommand.java b/src/main/java/TutorLink/command/attendance_command/AddAttendanceCommand.java index 0266fd86be..da66a97c6d 100644 --- a/src/main/java/TutorLink/command/attendance_command/AddAttendanceCommand.java +++ b/src/main/java/TutorLink/command/attendance_command/AddAttendanceCommand.java @@ -1,5 +1,6 @@ -package tutorlink.command.attendance_command; +package TutorLink.command.attendance_command; +import TutorLink.list.List; import tutorlink.attendance.Attendance; import java.util.ArrayList; @@ -11,8 +12,7 @@ public AddAttendanceCommand(Attendance attendance) { } @Override - public void execute(ArrayList attendanceList) { + public void execute(List list) { } - } diff --git a/src/main/java/TutorLink/command/attendance_command/AttendanceCommand.java b/src/main/java/TutorLink/command/attendance_command/AttendanceCommand.java index 93d2b7c428..1465ecc8c1 100644 --- a/src/main/java/TutorLink/command/attendance_command/AttendanceCommand.java +++ b/src/main/java/TutorLink/command/attendance_command/AttendanceCommand.java @@ -1,7 +1,7 @@ -package tutorlink.command.attendance_command; +package TutorLink.command.attendance_command; +import TutorLink.command.Command; import tutorlink.attendance.Attendance; -import tutorlink.command.Command; public abstract class AttendanceCommand extends Command { private Attendance attendance; diff --git a/src/main/java/TutorLink/command/attendance_command/DeleteAttendanceCommand.java b/src/main/java/TutorLink/command/attendance_command/DeleteAttendanceCommand.java index 55c5184892..21782fae15 100644 --- a/src/main/java/TutorLink/command/attendance_command/DeleteAttendanceCommand.java +++ b/src/main/java/TutorLink/command/attendance_command/DeleteAttendanceCommand.java @@ -1,5 +1,6 @@ -package tutorlink.command.attendance_command; +package TutorLink.command.attendance_command; +import TutorLink.list.List; import tutorlink.attendance.Attendance; import java.util.ArrayList; @@ -11,7 +12,7 @@ public DeleteAttendanceCommand(Attendance attendance) { } @Override - public void execute(ArrayList list) { + public void execute(List list) { } } diff --git a/src/main/java/TutorLink/command/student_command/StudentCommand.java b/src/main/java/TutorLink/command/student_command/StudentCommand.java index 8b7a9d9ec4..3030e42ff4 100644 --- a/src/main/java/TutorLink/command/student_command/StudentCommand.java +++ b/src/main/java/TutorLink/command/student_command/StudentCommand.java @@ -1,13 +1,15 @@ -package tutorlink.command.student_command; +package TutorLink.command.student_command; -import tutorlink.command.Command; +import TutorLink.command.Command; import tutorlink.student.Student; public abstract class StudentCommand extends Command { - private Student student; + protected Student student; + public StudentCommand(Student student) { this.student = student; } + @Override public boolean isExit() { return false; diff --git a/src/main/java/TutorLink/course/Course.java b/src/main/java/TutorLink/course/Course.java index 3867256562..babde7b2de 100644 --- a/src/main/java/TutorLink/course/Course.java +++ b/src/main/java/TutorLink/course/Course.java @@ -1,8 +1,9 @@ -package tutorlink.course; +package TutorLink.course; +import TutorLink.list.AssignmentList; +import TutorLink.list.AttendanceList; import tutorlink.assignment.Assignment; -import tutorlink.list.AssignmentList; -import tutorlink.list.AttendanceList; +import tutorlink.course.LetterGrade; public class Course { private String courseID; diff --git a/src/main/java/TutorLink/list/AssignmentList.java b/src/main/java/TutorLink/list/AssignmentList.java index 2a0b045e2f..743b753d87 100644 --- a/src/main/java/TutorLink/list/AssignmentList.java +++ b/src/main/java/TutorLink/list/AssignmentList.java @@ -1,11 +1,12 @@ -package tutorlink.list; +package TutorLink.list; +import TutorLink.list.List; import tutorlink.assignment.Assignment; import java.util.ArrayList; import java.util.Arrays; -public class AssignmentList { +public class AssignmentList extends List { private int numberOfAssignments; ArrayList assignmentArrayList; diff --git a/src/main/java/TutorLink/list/AttendanceList.java b/src/main/java/TutorLink/list/AttendanceList.java index a73a907118..8be0802b4d 100644 --- a/src/main/java/TutorLink/list/AttendanceList.java +++ b/src/main/java/TutorLink/list/AttendanceList.java @@ -1,10 +1,11 @@ -package tutorlink.list; +package TutorLink.list; +import TutorLink.list.List; import tutorlink.attendance.Attendance; import java.util.ArrayList; -public class AttendanceList { +public class AttendanceList extends List { private ArrayList attendanceArrayList; private int numberOfAttendance; diff --git a/src/main/java/TutorLink/list/CourseList.java b/src/main/java/TutorLink/list/CourseList.java index 571567cd9a..351a20c9cd 100644 --- a/src/main/java/TutorLink/list/CourseList.java +++ b/src/main/java/TutorLink/list/CourseList.java @@ -1,10 +1,11 @@ -package tutorlink.list; +package TutorLink.list; -import tutorlink.course.Course; + +import TutorLink.course.Course; import java.util.ArrayList; -public class CourseList { +public class CourseList extends List { private int numberOfCourses; ArrayList courseArrayList; diff --git a/src/main/java/TutorLink/list/List.java b/src/main/java/TutorLink/list/List.java new file mode 100644 index 0000000000..1e3ac07641 --- /dev/null +++ b/src/main/java/TutorLink/list/List.java @@ -0,0 +1,4 @@ +package TutorLink.list; + +public class List { +} diff --git a/src/main/java/TutorLink/list/StudentList.java b/src/main/java/TutorLink/list/StudentList.java index a045669efb..4f8401ff5e 100644 --- a/src/main/java/TutorLink/list/StudentList.java +++ b/src/main/java/TutorLink/list/StudentList.java @@ -1,23 +1,29 @@ -package tutorlink.list; +package TutorLink.list; +import TutorLink.list.List; import tutorlink.student.Student; import java.util.ArrayList; -import java.util.Arrays; -public class StudentList { - private Integer numberOfStudents; - private Student[] studentList = new Student[0]; - ArrayList studentArrayList = new ArrayList<>(Arrays.asList(studentList)); +public class StudentList extends List { + private ArrayList studentArrayList; public StudentList() { - this.numberOfStudents = 0; + this.studentArrayList = new ArrayList<>(); } - public void deleteStudent(Student student){ + public void deleteStudent(Student student) { studentArrayList.remove(student); } - public void addStudent(Student student){ + public void addStudent(Student student) { studentArrayList.add(student); } + + public int getNumberOfStudents() { + return studentArrayList.size(); + } + + public ArrayList getStudentArrayList() { + return studentArrayList; + } } diff --git a/src/main/java/TutorLink/student/Student.java b/src/main/java/TutorLink/student/Student.java index e551bc5dbe..23603f270c 100644 --- a/src/main/java/TutorLink/student/Student.java +++ b/src/main/java/TutorLink/student/Student.java @@ -4,9 +4,14 @@ public class Student { private String matricNumber; private double GPA; + public Student(String matricNumber) { + this.matricNumber = matricNumber; + this.GPA = 5.0; // Default GPA value if not given + } + public Student(String matricNumber, double GPA) { this.matricNumber = matricNumber; - this.GPA = 5.0; + this.GPA = GPA; } public String getMatricNumber() { diff --git a/src/test/java/TutorLink/list/AssignmentListTest.java b/src/test/java/TutorLink/list/AssignmentListTest.java index c854519f11..4e9c7b2057 100644 --- a/src/test/java/TutorLink/list/AssignmentListTest.java +++ b/src/test/java/TutorLink/list/AssignmentListTest.java @@ -1,5 +1,6 @@ -package tutorlink.list; +package TutorLink.list; +import TutorLink.list.AssignmentList; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import tutorlink.assignment.Assignment; diff --git a/src/test/java/TutorLink/list/StudentListTest.java b/src/test/java/TutorLink/list/StudentListTest.java index c5ce5cdf94..0d557fe79e 100644 --- a/src/test/java/TutorLink/list/StudentListTest.java +++ b/src/test/java/TutorLink/list/StudentListTest.java @@ -1,4 +1,44 @@ package tutorlink.list; +import TutorLink.list.StudentList; +import tutorlink.parser.Parser; +import TutorLink.command.student_command.AddStudentCommand; +import TutorLink.command.student_command.DeleteStudentCommand; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; + + public class StudentListTest { + + @Test + public void addStudentCommand_nonEmptyMatricNumberAndGPA_success() throws Exception { + Parser parser = new Parser(); + StudentList studentList = new StudentList(); + assertEquals(0, studentList.getNumberOfStudents()); + AddStudentCommand addStudentCommand = parser.addStudentCommand("A0123456X", 5.0); + + addStudentCommand.execute(studentList); + assertEquals(1, studentList.getNumberOfStudents()); + } + + @Test + public void deleteStudentCommand_nonEmptyMatricNumberAndGPA_success() throws Exception { + Parser parser = new Parser(); + StudentList studentList = new StudentList(); + + assertEquals(0, studentList.getNumberOfStudents()); + AddStudentCommand addStudentCommand = parser.addStudentCommand("A0123456X", 5.0); + addStudentCommand.execute(studentList); + + assertEquals(1, studentList.getNumberOfStudents()); + + DeleteStudentCommand deleteStudentCommand = parser.deleteStudentCommand("A0123456X", studentList); + + deleteStudentCommand.execute(studentList); + assertEquals(0, studentList.getNumberOfStudents()); + } + } From 591814ef508f66569efa46f022c207c65ea7a668 Mon Sep 17 00:00:00 2001 From: yeekian <53704991+yeekian@users.noreply.github.com> Date: Thu, 10 Oct 2024 23:28:58 +0800 Subject: [PATCH 2/9] Add AddStudentCommand and DeleteStudentCommand --- .../student_command/DeleteStudentCommand.java | 18 ++++-- .../student_command/addStudentCommand.java | 23 ++++++-- src/main/java/TutorLink/parser/Parser.java | 55 +++++++++++++++++++ .../exception/StudentNotFoundException.java | 5 ++ 4 files changed, 89 insertions(+), 12 deletions(-) create mode 100644 src/main/java/exception/StudentNotFoundException.java diff --git a/src/main/java/TutorLink/command/student_command/DeleteStudentCommand.java b/src/main/java/TutorLink/command/student_command/DeleteStudentCommand.java index 4efb4c8cc9..b6f8965484 100644 --- a/src/main/java/TutorLink/command/student_command/DeleteStudentCommand.java +++ b/src/main/java/TutorLink/command/student_command/DeleteStudentCommand.java @@ -1,16 +1,22 @@ -package tutorlink.command.student_command; +package TutorLink.command.student_command; +import TutorLink.list.List; +import TutorLink.list.StudentList; import tutorlink.student.Student; -import java.util.ArrayList; - -public class DeleteStudentCommand extends StudentCommand{ +public class DeleteStudentCommand extends StudentCommand { public DeleteStudentCommand(Student student) { super(student); } - @Override - public void execute(ArrayList list) { + // Implement the generic execute method to handle the List type + @Override + public void execute(List list) { + if (list instanceof StudentList) { + ((StudentList) list).deleteStudent(student); + } else { + throw new IllegalArgumentException("Invalid list type. Expected StudentList."); + } } } diff --git a/src/main/java/TutorLink/command/student_command/addStudentCommand.java b/src/main/java/TutorLink/command/student_command/addStudentCommand.java index f53ec51b7b..c9502ca16c 100644 --- a/src/main/java/TutorLink/command/student_command/addStudentCommand.java +++ b/src/main/java/TutorLink/command/student_command/addStudentCommand.java @@ -1,18 +1,29 @@ -package tutorlink.command.student_command; +package TutorLink.command.student_command; +import TutorLink.list.List; import tutorlink.student.Student; +import TutorLink.list.StudentList; import java.util.ArrayList; -public class addStudentCommand extends StudentCommand{ +public class AddStudentCommand extends StudentCommand { - public addStudentCommand(Student student) { + public AddStudentCommand(Student student) { super(student); } + // Implement the generic execute method to handle the List type @Override - public void execute(ArrayList list) { - + public void execute(List list) { + if (list instanceof StudentList) { + ((StudentList) list).addStudent(student); + } else { + throw new IllegalArgumentException("Invalid list type. Expected StudentList."); + } } -} + @Override + public boolean isExit() { + return super.isExit(); + } +} \ No newline at end of file diff --git a/src/main/java/TutorLink/parser/Parser.java b/src/main/java/TutorLink/parser/Parser.java index 60fa8e7d25..37f3ef84a6 100644 --- a/src/main/java/TutorLink/parser/Parser.java +++ b/src/main/java/TutorLink/parser/Parser.java @@ -1,4 +1,59 @@ package tutorlink.parser; +import TutorLink.command.student_command.AddStudentCommand; +import TutorLink.command.student_command.DeleteStudentCommand; +import TutorLink.list.StudentList; +import exception.StudentNotFoundException; +import tutorlink.student.Student; + public class Parser { + + /** + * Finds a student in the provided student list by matriculation number. + * + * @param matricNumber the matriculation number of the student to find + * @param studentList the list of students to search in + * @return the Student object with the given matriculation number + * @throws StudentNotFoundException if no student with the given matriculation number is found + */ + private Student findStudent(String matricNumber, StudentList studentList) throws StudentNotFoundException { + for (Student a : studentList.getStudentArrayList()) { + if (a.getMatricNumber().equals(matricNumber)) { + return a; + } + } + throw new StudentNotFoundException(); + } + + /** + * Creates an AddStudentCommand for adding a new student. + * + * @param matricNumber the matriculation number of the new student + * @param GPA the GPA of the new student + * @return an AddStudentCommand object to add the new student + */ + public AddStudentCommand addStudentCommand(String matricNumber, double GPA) { + Student newStudent = new Student(matricNumber, GPA); + AddStudentCommand addStudentCommand = new AddStudentCommand(newStudent); + return addStudentCommand; + } + + /** + * Creates a DeleteStudentCommand for deleting a student with the given matriculation number. + * + * @param matricNumber the matriculation number of the student to delete + * @param studentList the list of students to search for the student + * @return a DeleteStudentCommand object to delete the student + */ + public DeleteStudentCommand deleteStudentCommand(String matricNumber, StudentList studentList) { + try { + Student selectedStudent = findStudent(matricNumber, studentList); + DeleteStudentCommand deleteStudentCommand = new DeleteStudentCommand(selectedStudent); + return deleteStudentCommand; + } catch (StudentNotFoundException e) { + System.out.println("Student Not Found."); + } + return null; // Return null if the student is not found + } + } diff --git a/src/main/java/exception/StudentNotFoundException.java b/src/main/java/exception/StudentNotFoundException.java new file mode 100644 index 0000000000..876a447e54 --- /dev/null +++ b/src/main/java/exception/StudentNotFoundException.java @@ -0,0 +1,5 @@ +package exception; + +public class StudentNotFoundException extends Exception{ + //no other code needed +} From 95d526b7f7749d27220303b3616b23b4d9b2e1be Mon Sep 17 00:00:00 2001 From: yeekian <53704991+yeekian@users.noreply.github.com> Date: Thu, 10 Oct 2024 23:29:27 +0800 Subject: [PATCH 3/9] Revert "Refactor list classes to extend List class" This reverts commit 9e58b0a96bd295a560d99fed96222abb1c3d7b1e. --- src/main/java/TutorLink/command/Command.java | 8 ++-- .../AddAssignmentCommand.java | 5 +-- .../assignment_command/AssignmentCommand.java | 6 ++- .../DeleteAssignmentCommand.java | 7 +--- .../AddAttendanceCommand.java | 6 +-- .../attendance_command/AttendanceCommand.java | 4 +- .../DeleteAttendanceCommand.java | 5 +-- .../student_command/StudentCommand.java | 8 ++-- src/main/java/TutorLink/course/Course.java | 7 ++-- .../java/TutorLink/list/AssignmentList.java | 5 +-- .../java/TutorLink/list/AttendanceList.java | 5 +-- src/main/java/TutorLink/list/CourseList.java | 7 ++-- src/main/java/TutorLink/list/List.java | 4 -- src/main/java/TutorLink/list/StudentList.java | 24 +++++------ src/main/java/TutorLink/student/Student.java | 7 +--- .../TutorLink/list/AssignmentListTest.java | 3 +- .../java/TutorLink/list/StudentListTest.java | 40 ------------------- 17 files changed, 43 insertions(+), 108 deletions(-) delete mode 100644 src/main/java/TutorLink/list/List.java diff --git a/src/main/java/TutorLink/command/Command.java b/src/main/java/TutorLink/command/Command.java index 933e6732ff..3daf0dffad 100644 --- a/src/main/java/TutorLink/command/Command.java +++ b/src/main/java/TutorLink/command/Command.java @@ -1,17 +1,17 @@ -package TutorLink.command; +package tutorlink.command; -import TutorLink.list.List; +import java.util.ArrayList; /** * Represents an interpreted Command from the user. A Command object corresponds to a * single user-issued command from the terminal. */ + public abstract class Command { /** * Executes the required operations to perform the command issued by the user. */ - abstract public void execute(List list); - + abstract public void execute(ArrayList list); /** * Checks if the command is an exit command. * diff --git a/src/main/java/TutorLink/command/assignment_command/AddAssignmentCommand.java b/src/main/java/TutorLink/command/assignment_command/AddAssignmentCommand.java index 9f7516f4ce..33dd945991 100644 --- a/src/main/java/TutorLink/command/assignment_command/AddAssignmentCommand.java +++ b/src/main/java/TutorLink/command/assignment_command/AddAssignmentCommand.java @@ -1,6 +1,5 @@ -package TutorLink.command.assignment_command; +package tutorlink.command.assignment_command; -import TutorLink.list.List; import tutorlink.assignment.Assignment; import java.util.ArrayList; @@ -11,7 +10,7 @@ public AddAssignmentCommand(Assignment assignment) { } @Override - public void execute(List list) { + public void execute(ArrayList assignmentList) { } diff --git a/src/main/java/TutorLink/command/assignment_command/AssignmentCommand.java b/src/main/java/TutorLink/command/assignment_command/AssignmentCommand.java index e8ce1e44ac..d7b9259498 100644 --- a/src/main/java/TutorLink/command/assignment_command/AssignmentCommand.java +++ b/src/main/java/TutorLink/command/assignment_command/AssignmentCommand.java @@ -1,7 +1,7 @@ -package TutorLink.command.assignment_command; +package tutorlink.command.assignment_command; -import TutorLink.command.Command; import tutorlink.assignment.Assignment; +import tutorlink.command.Command; import java.util.ArrayList; @@ -12,6 +12,8 @@ public AssignmentCommand(Assignment assignment) { this.assignment = assignment; } + public abstract void execute(ArrayList assignmentList); + public boolean isExit() { return false; } diff --git a/src/main/java/TutorLink/command/assignment_command/DeleteAssignmentCommand.java b/src/main/java/TutorLink/command/assignment_command/DeleteAssignmentCommand.java index 49ff660413..99bc94665c 100644 --- a/src/main/java/TutorLink/command/assignment_command/DeleteAssignmentCommand.java +++ b/src/main/java/TutorLink/command/assignment_command/DeleteAssignmentCommand.java @@ -1,6 +1,5 @@ -package TutorLink.command.assignment_command; +package tutorlink.command.assignment_command; -import TutorLink.list.List; import tutorlink.assignment.Assignment; import java.util.ArrayList; @@ -10,9 +9,7 @@ public DeleteAssignmentCommand(Assignment assignment) { super(assignment); } - - @Override - public void execute(List list) { + public void execute(ArrayList assignmentList) { } } diff --git a/src/main/java/TutorLink/command/attendance_command/AddAttendanceCommand.java b/src/main/java/TutorLink/command/attendance_command/AddAttendanceCommand.java index da66a97c6d..0266fd86be 100644 --- a/src/main/java/TutorLink/command/attendance_command/AddAttendanceCommand.java +++ b/src/main/java/TutorLink/command/attendance_command/AddAttendanceCommand.java @@ -1,6 +1,5 @@ -package TutorLink.command.attendance_command; +package tutorlink.command.attendance_command; -import TutorLink.list.List; import tutorlink.attendance.Attendance; import java.util.ArrayList; @@ -12,7 +11,8 @@ public AddAttendanceCommand(Attendance attendance) { } @Override - public void execute(List list) { + public void execute(ArrayList attendanceList) { } + } diff --git a/src/main/java/TutorLink/command/attendance_command/AttendanceCommand.java b/src/main/java/TutorLink/command/attendance_command/AttendanceCommand.java index 1465ecc8c1..93d2b7c428 100644 --- a/src/main/java/TutorLink/command/attendance_command/AttendanceCommand.java +++ b/src/main/java/TutorLink/command/attendance_command/AttendanceCommand.java @@ -1,7 +1,7 @@ -package TutorLink.command.attendance_command; +package tutorlink.command.attendance_command; -import TutorLink.command.Command; import tutorlink.attendance.Attendance; +import tutorlink.command.Command; public abstract class AttendanceCommand extends Command { private Attendance attendance; diff --git a/src/main/java/TutorLink/command/attendance_command/DeleteAttendanceCommand.java b/src/main/java/TutorLink/command/attendance_command/DeleteAttendanceCommand.java index 21782fae15..55c5184892 100644 --- a/src/main/java/TutorLink/command/attendance_command/DeleteAttendanceCommand.java +++ b/src/main/java/TutorLink/command/attendance_command/DeleteAttendanceCommand.java @@ -1,6 +1,5 @@ -package TutorLink.command.attendance_command; +package tutorlink.command.attendance_command; -import TutorLink.list.List; import tutorlink.attendance.Attendance; import java.util.ArrayList; @@ -12,7 +11,7 @@ public DeleteAttendanceCommand(Attendance attendance) { } @Override - public void execute(List list) { + public void execute(ArrayList list) { } } diff --git a/src/main/java/TutorLink/command/student_command/StudentCommand.java b/src/main/java/TutorLink/command/student_command/StudentCommand.java index 3030e42ff4..8b7a9d9ec4 100644 --- a/src/main/java/TutorLink/command/student_command/StudentCommand.java +++ b/src/main/java/TutorLink/command/student_command/StudentCommand.java @@ -1,15 +1,13 @@ -package TutorLink.command.student_command; +package tutorlink.command.student_command; -import TutorLink.command.Command; +import tutorlink.command.Command; import tutorlink.student.Student; public abstract class StudentCommand extends Command { - protected Student student; - + private Student student; public StudentCommand(Student student) { this.student = student; } - @Override public boolean isExit() { return false; diff --git a/src/main/java/TutorLink/course/Course.java b/src/main/java/TutorLink/course/Course.java index babde7b2de..3867256562 100644 --- a/src/main/java/TutorLink/course/Course.java +++ b/src/main/java/TutorLink/course/Course.java @@ -1,9 +1,8 @@ -package TutorLink.course; +package tutorlink.course; -import TutorLink.list.AssignmentList; -import TutorLink.list.AttendanceList; import tutorlink.assignment.Assignment; -import tutorlink.course.LetterGrade; +import tutorlink.list.AssignmentList; +import tutorlink.list.AttendanceList; public class Course { private String courseID; diff --git a/src/main/java/TutorLink/list/AssignmentList.java b/src/main/java/TutorLink/list/AssignmentList.java index 743b753d87..2a0b045e2f 100644 --- a/src/main/java/TutorLink/list/AssignmentList.java +++ b/src/main/java/TutorLink/list/AssignmentList.java @@ -1,12 +1,11 @@ -package TutorLink.list; +package tutorlink.list; -import TutorLink.list.List; import tutorlink.assignment.Assignment; import java.util.ArrayList; import java.util.Arrays; -public class AssignmentList extends List { +public class AssignmentList { private int numberOfAssignments; ArrayList assignmentArrayList; diff --git a/src/main/java/TutorLink/list/AttendanceList.java b/src/main/java/TutorLink/list/AttendanceList.java index 8be0802b4d..a73a907118 100644 --- a/src/main/java/TutorLink/list/AttendanceList.java +++ b/src/main/java/TutorLink/list/AttendanceList.java @@ -1,11 +1,10 @@ -package TutorLink.list; +package tutorlink.list; -import TutorLink.list.List; import tutorlink.attendance.Attendance; import java.util.ArrayList; -public class AttendanceList extends List { +public class AttendanceList { private ArrayList attendanceArrayList; private int numberOfAttendance; diff --git a/src/main/java/TutorLink/list/CourseList.java b/src/main/java/TutorLink/list/CourseList.java index 351a20c9cd..571567cd9a 100644 --- a/src/main/java/TutorLink/list/CourseList.java +++ b/src/main/java/TutorLink/list/CourseList.java @@ -1,11 +1,10 @@ -package TutorLink.list; +package tutorlink.list; - -import TutorLink.course.Course; +import tutorlink.course.Course; import java.util.ArrayList; -public class CourseList extends List { +public class CourseList { private int numberOfCourses; ArrayList courseArrayList; diff --git a/src/main/java/TutorLink/list/List.java b/src/main/java/TutorLink/list/List.java deleted file mode 100644 index 1e3ac07641..0000000000 --- a/src/main/java/TutorLink/list/List.java +++ /dev/null @@ -1,4 +0,0 @@ -package TutorLink.list; - -public class List { -} diff --git a/src/main/java/TutorLink/list/StudentList.java b/src/main/java/TutorLink/list/StudentList.java index 4f8401ff5e..a045669efb 100644 --- a/src/main/java/TutorLink/list/StudentList.java +++ b/src/main/java/TutorLink/list/StudentList.java @@ -1,29 +1,23 @@ -package TutorLink.list; +package tutorlink.list; -import TutorLink.list.List; import tutorlink.student.Student; import java.util.ArrayList; +import java.util.Arrays; -public class StudentList extends List { - private ArrayList studentArrayList; +public class StudentList { + private Integer numberOfStudents; + private Student[] studentList = new Student[0]; + ArrayList studentArrayList = new ArrayList<>(Arrays.asList(studentList)); public StudentList() { - this.studentArrayList = new ArrayList<>(); + this.numberOfStudents = 0; } - public void deleteStudent(Student student) { + public void deleteStudent(Student student){ studentArrayList.remove(student); } - public void addStudent(Student student) { + public void addStudent(Student student){ studentArrayList.add(student); } - - public int getNumberOfStudents() { - return studentArrayList.size(); - } - - public ArrayList getStudentArrayList() { - return studentArrayList; - } } diff --git a/src/main/java/TutorLink/student/Student.java b/src/main/java/TutorLink/student/Student.java index 23603f270c..e551bc5dbe 100644 --- a/src/main/java/TutorLink/student/Student.java +++ b/src/main/java/TutorLink/student/Student.java @@ -4,14 +4,9 @@ public class Student { private String matricNumber; private double GPA; - public Student(String matricNumber) { - this.matricNumber = matricNumber; - this.GPA = 5.0; // Default GPA value if not given - } - public Student(String matricNumber, double GPA) { this.matricNumber = matricNumber; - this.GPA = GPA; + this.GPA = 5.0; } public String getMatricNumber() { diff --git a/src/test/java/TutorLink/list/AssignmentListTest.java b/src/test/java/TutorLink/list/AssignmentListTest.java index 4e9c7b2057..c854519f11 100644 --- a/src/test/java/TutorLink/list/AssignmentListTest.java +++ b/src/test/java/TutorLink/list/AssignmentListTest.java @@ -1,6 +1,5 @@ -package TutorLink.list; +package tutorlink.list; -import TutorLink.list.AssignmentList; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import tutorlink.assignment.Assignment; diff --git a/src/test/java/TutorLink/list/StudentListTest.java b/src/test/java/TutorLink/list/StudentListTest.java index 0d557fe79e..c5ce5cdf94 100644 --- a/src/test/java/TutorLink/list/StudentListTest.java +++ b/src/test/java/TutorLink/list/StudentListTest.java @@ -1,44 +1,4 @@ package tutorlink.list; -import TutorLink.list.StudentList; -import tutorlink.parser.Parser; -import TutorLink.command.student_command.AddStudentCommand; -import TutorLink.command.student_command.DeleteStudentCommand; - -import org.junit.jupiter.api.Test; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.fail; - - public class StudentListTest { - - @Test - public void addStudentCommand_nonEmptyMatricNumberAndGPA_success() throws Exception { - Parser parser = new Parser(); - StudentList studentList = new StudentList(); - assertEquals(0, studentList.getNumberOfStudents()); - AddStudentCommand addStudentCommand = parser.addStudentCommand("A0123456X", 5.0); - - addStudentCommand.execute(studentList); - assertEquals(1, studentList.getNumberOfStudents()); - } - - @Test - public void deleteStudentCommand_nonEmptyMatricNumberAndGPA_success() throws Exception { - Parser parser = new Parser(); - StudentList studentList = new StudentList(); - - assertEquals(0, studentList.getNumberOfStudents()); - AddStudentCommand addStudentCommand = parser.addStudentCommand("A0123456X", 5.0); - addStudentCommand.execute(studentList); - - assertEquals(1, studentList.getNumberOfStudents()); - - DeleteStudentCommand deleteStudentCommand = parser.deleteStudentCommand("A0123456X", studentList); - - deleteStudentCommand.execute(studentList); - assertEquals(0, studentList.getNumberOfStudents()); - } - } From 972eb98d09551391cc4375bf8f363ee6a8fd1448 Mon Sep 17 00:00:00 2001 From: yeekian <53704991+yeekian@users.noreply.github.com> Date: Thu, 10 Oct 2024 23:29:42 +0800 Subject: [PATCH 4/9] Reapply "Refactor list classes to extend List class" This reverts commit 95d526b7f7749d27220303b3616b23b4d9b2e1be. --- src/main/java/TutorLink/command/Command.java | 8 ++-- .../AddAssignmentCommand.java | 5 ++- .../assignment_command/AssignmentCommand.java | 6 +-- .../DeleteAssignmentCommand.java | 7 +++- .../AddAttendanceCommand.java | 6 +-- .../attendance_command/AttendanceCommand.java | 4 +- .../DeleteAttendanceCommand.java | 5 ++- .../student_command/StudentCommand.java | 8 ++-- src/main/java/TutorLink/course/Course.java | 7 ++-- .../java/TutorLink/list/AssignmentList.java | 5 ++- .../java/TutorLink/list/AttendanceList.java | 5 ++- src/main/java/TutorLink/list/CourseList.java | 7 ++-- src/main/java/TutorLink/list/List.java | 4 ++ src/main/java/TutorLink/list/StudentList.java | 24 ++++++----- src/main/java/TutorLink/student/Student.java | 7 +++- .../TutorLink/list/AssignmentListTest.java | 3 +- .../java/TutorLink/list/StudentListTest.java | 40 +++++++++++++++++++ 17 files changed, 108 insertions(+), 43 deletions(-) create mode 100644 src/main/java/TutorLink/list/List.java diff --git a/src/main/java/TutorLink/command/Command.java b/src/main/java/TutorLink/command/Command.java index 3daf0dffad..933e6732ff 100644 --- a/src/main/java/TutorLink/command/Command.java +++ b/src/main/java/TutorLink/command/Command.java @@ -1,17 +1,17 @@ -package tutorlink.command; +package TutorLink.command; -import java.util.ArrayList; +import TutorLink.list.List; /** * Represents an interpreted Command from the user. A Command object corresponds to a * single user-issued command from the terminal. */ - public abstract class Command { /** * Executes the required operations to perform the command issued by the user. */ - abstract public void execute(ArrayList list); + abstract public void execute(List list); + /** * Checks if the command is an exit command. * diff --git a/src/main/java/TutorLink/command/assignment_command/AddAssignmentCommand.java b/src/main/java/TutorLink/command/assignment_command/AddAssignmentCommand.java index 33dd945991..9f7516f4ce 100644 --- a/src/main/java/TutorLink/command/assignment_command/AddAssignmentCommand.java +++ b/src/main/java/TutorLink/command/assignment_command/AddAssignmentCommand.java @@ -1,5 +1,6 @@ -package tutorlink.command.assignment_command; +package TutorLink.command.assignment_command; +import TutorLink.list.List; import tutorlink.assignment.Assignment; import java.util.ArrayList; @@ -10,7 +11,7 @@ public AddAssignmentCommand(Assignment assignment) { } @Override - public void execute(ArrayList assignmentList) { + public void execute(List list) { } diff --git a/src/main/java/TutorLink/command/assignment_command/AssignmentCommand.java b/src/main/java/TutorLink/command/assignment_command/AssignmentCommand.java index d7b9259498..e8ce1e44ac 100644 --- a/src/main/java/TutorLink/command/assignment_command/AssignmentCommand.java +++ b/src/main/java/TutorLink/command/assignment_command/AssignmentCommand.java @@ -1,7 +1,7 @@ -package tutorlink.command.assignment_command; +package TutorLink.command.assignment_command; +import TutorLink.command.Command; import tutorlink.assignment.Assignment; -import tutorlink.command.Command; import java.util.ArrayList; @@ -12,8 +12,6 @@ public AssignmentCommand(Assignment assignment) { this.assignment = assignment; } - public abstract void execute(ArrayList assignmentList); - public boolean isExit() { return false; } diff --git a/src/main/java/TutorLink/command/assignment_command/DeleteAssignmentCommand.java b/src/main/java/TutorLink/command/assignment_command/DeleteAssignmentCommand.java index 99bc94665c..49ff660413 100644 --- a/src/main/java/TutorLink/command/assignment_command/DeleteAssignmentCommand.java +++ b/src/main/java/TutorLink/command/assignment_command/DeleteAssignmentCommand.java @@ -1,5 +1,6 @@ -package tutorlink.command.assignment_command; +package TutorLink.command.assignment_command; +import TutorLink.list.List; import tutorlink.assignment.Assignment; import java.util.ArrayList; @@ -9,7 +10,9 @@ public DeleteAssignmentCommand(Assignment assignment) { super(assignment); } - public void execute(ArrayList assignmentList) { + + @Override + public void execute(List list) { } } diff --git a/src/main/java/TutorLink/command/attendance_command/AddAttendanceCommand.java b/src/main/java/TutorLink/command/attendance_command/AddAttendanceCommand.java index 0266fd86be..da66a97c6d 100644 --- a/src/main/java/TutorLink/command/attendance_command/AddAttendanceCommand.java +++ b/src/main/java/TutorLink/command/attendance_command/AddAttendanceCommand.java @@ -1,5 +1,6 @@ -package tutorlink.command.attendance_command; +package TutorLink.command.attendance_command; +import TutorLink.list.List; import tutorlink.attendance.Attendance; import java.util.ArrayList; @@ -11,8 +12,7 @@ public AddAttendanceCommand(Attendance attendance) { } @Override - public void execute(ArrayList attendanceList) { + public void execute(List list) { } - } diff --git a/src/main/java/TutorLink/command/attendance_command/AttendanceCommand.java b/src/main/java/TutorLink/command/attendance_command/AttendanceCommand.java index 93d2b7c428..1465ecc8c1 100644 --- a/src/main/java/TutorLink/command/attendance_command/AttendanceCommand.java +++ b/src/main/java/TutorLink/command/attendance_command/AttendanceCommand.java @@ -1,7 +1,7 @@ -package tutorlink.command.attendance_command; +package TutorLink.command.attendance_command; +import TutorLink.command.Command; import tutorlink.attendance.Attendance; -import tutorlink.command.Command; public abstract class AttendanceCommand extends Command { private Attendance attendance; diff --git a/src/main/java/TutorLink/command/attendance_command/DeleteAttendanceCommand.java b/src/main/java/TutorLink/command/attendance_command/DeleteAttendanceCommand.java index 55c5184892..21782fae15 100644 --- a/src/main/java/TutorLink/command/attendance_command/DeleteAttendanceCommand.java +++ b/src/main/java/TutorLink/command/attendance_command/DeleteAttendanceCommand.java @@ -1,5 +1,6 @@ -package tutorlink.command.attendance_command; +package TutorLink.command.attendance_command; +import TutorLink.list.List; import tutorlink.attendance.Attendance; import java.util.ArrayList; @@ -11,7 +12,7 @@ public DeleteAttendanceCommand(Attendance attendance) { } @Override - public void execute(ArrayList list) { + public void execute(List list) { } } diff --git a/src/main/java/TutorLink/command/student_command/StudentCommand.java b/src/main/java/TutorLink/command/student_command/StudentCommand.java index 8b7a9d9ec4..3030e42ff4 100644 --- a/src/main/java/TutorLink/command/student_command/StudentCommand.java +++ b/src/main/java/TutorLink/command/student_command/StudentCommand.java @@ -1,13 +1,15 @@ -package tutorlink.command.student_command; +package TutorLink.command.student_command; -import tutorlink.command.Command; +import TutorLink.command.Command; import tutorlink.student.Student; public abstract class StudentCommand extends Command { - private Student student; + protected Student student; + public StudentCommand(Student student) { this.student = student; } + @Override public boolean isExit() { return false; diff --git a/src/main/java/TutorLink/course/Course.java b/src/main/java/TutorLink/course/Course.java index 3867256562..babde7b2de 100644 --- a/src/main/java/TutorLink/course/Course.java +++ b/src/main/java/TutorLink/course/Course.java @@ -1,8 +1,9 @@ -package tutorlink.course; +package TutorLink.course; +import TutorLink.list.AssignmentList; +import TutorLink.list.AttendanceList; import tutorlink.assignment.Assignment; -import tutorlink.list.AssignmentList; -import tutorlink.list.AttendanceList; +import tutorlink.course.LetterGrade; public class Course { private String courseID; diff --git a/src/main/java/TutorLink/list/AssignmentList.java b/src/main/java/TutorLink/list/AssignmentList.java index 2a0b045e2f..743b753d87 100644 --- a/src/main/java/TutorLink/list/AssignmentList.java +++ b/src/main/java/TutorLink/list/AssignmentList.java @@ -1,11 +1,12 @@ -package tutorlink.list; +package TutorLink.list; +import TutorLink.list.List; import tutorlink.assignment.Assignment; import java.util.ArrayList; import java.util.Arrays; -public class AssignmentList { +public class AssignmentList extends List { private int numberOfAssignments; ArrayList assignmentArrayList; diff --git a/src/main/java/TutorLink/list/AttendanceList.java b/src/main/java/TutorLink/list/AttendanceList.java index a73a907118..8be0802b4d 100644 --- a/src/main/java/TutorLink/list/AttendanceList.java +++ b/src/main/java/TutorLink/list/AttendanceList.java @@ -1,10 +1,11 @@ -package tutorlink.list; +package TutorLink.list; +import TutorLink.list.List; import tutorlink.attendance.Attendance; import java.util.ArrayList; -public class AttendanceList { +public class AttendanceList extends List { private ArrayList attendanceArrayList; private int numberOfAttendance; diff --git a/src/main/java/TutorLink/list/CourseList.java b/src/main/java/TutorLink/list/CourseList.java index 571567cd9a..351a20c9cd 100644 --- a/src/main/java/TutorLink/list/CourseList.java +++ b/src/main/java/TutorLink/list/CourseList.java @@ -1,10 +1,11 @@ -package tutorlink.list; +package TutorLink.list; -import tutorlink.course.Course; + +import TutorLink.course.Course; import java.util.ArrayList; -public class CourseList { +public class CourseList extends List { private int numberOfCourses; ArrayList courseArrayList; diff --git a/src/main/java/TutorLink/list/List.java b/src/main/java/TutorLink/list/List.java new file mode 100644 index 0000000000..1e3ac07641 --- /dev/null +++ b/src/main/java/TutorLink/list/List.java @@ -0,0 +1,4 @@ +package TutorLink.list; + +public class List { +} diff --git a/src/main/java/TutorLink/list/StudentList.java b/src/main/java/TutorLink/list/StudentList.java index a045669efb..4f8401ff5e 100644 --- a/src/main/java/TutorLink/list/StudentList.java +++ b/src/main/java/TutorLink/list/StudentList.java @@ -1,23 +1,29 @@ -package tutorlink.list; +package TutorLink.list; +import TutorLink.list.List; import tutorlink.student.Student; import java.util.ArrayList; -import java.util.Arrays; -public class StudentList { - private Integer numberOfStudents; - private Student[] studentList = new Student[0]; - ArrayList studentArrayList = new ArrayList<>(Arrays.asList(studentList)); +public class StudentList extends List { + private ArrayList studentArrayList; public StudentList() { - this.numberOfStudents = 0; + this.studentArrayList = new ArrayList<>(); } - public void deleteStudent(Student student){ + public void deleteStudent(Student student) { studentArrayList.remove(student); } - public void addStudent(Student student){ + public void addStudent(Student student) { studentArrayList.add(student); } + + public int getNumberOfStudents() { + return studentArrayList.size(); + } + + public ArrayList getStudentArrayList() { + return studentArrayList; + } } diff --git a/src/main/java/TutorLink/student/Student.java b/src/main/java/TutorLink/student/Student.java index e551bc5dbe..23603f270c 100644 --- a/src/main/java/TutorLink/student/Student.java +++ b/src/main/java/TutorLink/student/Student.java @@ -4,9 +4,14 @@ public class Student { private String matricNumber; private double GPA; + public Student(String matricNumber) { + this.matricNumber = matricNumber; + this.GPA = 5.0; // Default GPA value if not given + } + public Student(String matricNumber, double GPA) { this.matricNumber = matricNumber; - this.GPA = 5.0; + this.GPA = GPA; } public String getMatricNumber() { diff --git a/src/test/java/TutorLink/list/AssignmentListTest.java b/src/test/java/TutorLink/list/AssignmentListTest.java index c854519f11..4e9c7b2057 100644 --- a/src/test/java/TutorLink/list/AssignmentListTest.java +++ b/src/test/java/TutorLink/list/AssignmentListTest.java @@ -1,5 +1,6 @@ -package tutorlink.list; +package TutorLink.list; +import TutorLink.list.AssignmentList; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import tutorlink.assignment.Assignment; diff --git a/src/test/java/TutorLink/list/StudentListTest.java b/src/test/java/TutorLink/list/StudentListTest.java index c5ce5cdf94..0d557fe79e 100644 --- a/src/test/java/TutorLink/list/StudentListTest.java +++ b/src/test/java/TutorLink/list/StudentListTest.java @@ -1,4 +1,44 @@ package tutorlink.list; +import TutorLink.list.StudentList; +import tutorlink.parser.Parser; +import TutorLink.command.student_command.AddStudentCommand; +import TutorLink.command.student_command.DeleteStudentCommand; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; + + public class StudentListTest { + + @Test + public void addStudentCommand_nonEmptyMatricNumberAndGPA_success() throws Exception { + Parser parser = new Parser(); + StudentList studentList = new StudentList(); + assertEquals(0, studentList.getNumberOfStudents()); + AddStudentCommand addStudentCommand = parser.addStudentCommand("A0123456X", 5.0); + + addStudentCommand.execute(studentList); + assertEquals(1, studentList.getNumberOfStudents()); + } + + @Test + public void deleteStudentCommand_nonEmptyMatricNumberAndGPA_success() throws Exception { + Parser parser = new Parser(); + StudentList studentList = new StudentList(); + + assertEquals(0, studentList.getNumberOfStudents()); + AddStudentCommand addStudentCommand = parser.addStudentCommand("A0123456X", 5.0); + addStudentCommand.execute(studentList); + + assertEquals(1, studentList.getNumberOfStudents()); + + DeleteStudentCommand deleteStudentCommand = parser.deleteStudentCommand("A0123456X", studentList); + + deleteStudentCommand.execute(studentList); + assertEquals(0, studentList.getNumberOfStudents()); + } + } From 00ca053b742458e243ae13b981d0427155e59398 Mon Sep 17 00:00:00 2001 From: yeekian <53704991+yeekian@users.noreply.github.com> Date: Fri, 11 Oct 2024 00:45:56 +0800 Subject: [PATCH 5/9] Refactor code to pass CI --- src/main/java/{TutorLink => }/TutorLink.java | 0 .../student_command/StudentCommand.java | 17 ----------- src/main/java/TutorLink/list/List.java | 4 --- src/main/java/TutorLink/list/StudentList.java | 29 ------------------- src/main/java/TutorLink/student/Student.java | 28 ------------------ .../assignmentpackage}/Assignment.java | 0 .../attendancepackage}/Attendance.java | 0 .../commandpackage}/Command.java | 8 ++--- .../AddAssignmentCommand.java | 8 ++--- .../assignmentcommand}/AssignmentCommand.java | 6 ++-- .../DeleteAssignmentCommand.java | 8 ++--- .../AddAttendanceCommand.java | 8 ++--- .../attendancecommand}/AttendanceCommand.java | 4 +-- .../DeleteAttendanceCommand.java | 8 ++--- .../studentcommand/AddStudentCommand.java} | 14 ++++----- .../studentcommand}/DeleteStudentCommand.java | 13 +++++---- .../studentcommand/StudentCommand.java | 17 +++++++++++ .../coursepackage}/Course.java | 6 ++-- .../coursepackage}/LetterGrade.java | 0 .../listpackage}/AssignmentList.java | 6 ++-- .../listpackage}/AttendanceList.java | 5 ++-- .../listpackage}/CourseList.java | 6 ++-- .../java/tutorlink/listpackage/ItemList.java | 4 +++ .../tutorlink/listpackage/StudentList.java | 29 +++++++++++++++++++ .../parserpackage}/Parser.java | 22 +++++++------- .../studentpackage/StudentClass.java | 28 ++++++++++++++++++ .../AssignmentListTest.java | 3 +- .../AttendanceListTest.java | 2 +- .../list => listpackage}/CourseListTest.java | 2 +- .../list => listpackage}/StudentListTest.java | 6 ++-- 30 files changed, 138 insertions(+), 153 deletions(-) rename src/main/java/{TutorLink => }/TutorLink.java (100%) delete mode 100644 src/main/java/TutorLink/command/student_command/StudentCommand.java delete mode 100644 src/main/java/TutorLink/list/List.java delete mode 100644 src/main/java/TutorLink/list/StudentList.java delete mode 100644 src/main/java/TutorLink/student/Student.java rename src/main/java/{TutorLink/assignment => tutorlink/assignmentpackage}/Assignment.java (100%) rename src/main/java/{TutorLink/attendance => tutorlink/attendancepackage}/Attendance.java (100%) rename src/main/java/{TutorLink/command => tutorlink/commandpackage}/Command.java (72%) rename src/main/java/{TutorLink/command/assignment_command => tutorlink/commandpackage/assignmentcommand}/AddAssignmentCommand.java (67%) rename src/main/java/{TutorLink/command/assignment_command => tutorlink/commandpackage/assignmentcommand}/AssignmentCommand.java (73%) rename src/main/java/{TutorLink/command/assignment_command => tutorlink/commandpackage/assignmentcommand}/DeleteAssignmentCommand.java (61%) rename src/main/java/{TutorLink/command/attendance_command => tutorlink/commandpackage/attendancecommand}/AddAttendanceCommand.java (60%) rename src/main/java/{TutorLink/command/attendance_command => tutorlink/commandpackage/attendancecommand}/AttendanceCommand.java (76%) rename src/main/java/{TutorLink/command/attendance_command => tutorlink/commandpackage/attendancecommand}/DeleteAttendanceCommand.java (61%) rename src/main/java/{TutorLink/command/student_command/addStudentCommand.java => tutorlink/commandpackage/studentcommand/AddStudentCommand.java} (63%) rename src/main/java/{TutorLink/command/student_command => tutorlink/commandpackage/studentcommand}/DeleteStudentCommand.java (59%) create mode 100644 src/main/java/tutorlink/commandpackage/studentcommand/StudentCommand.java rename src/main/java/{TutorLink/course => tutorlink/coursepackage}/Course.java (84%) rename src/main/java/{TutorLink/course => tutorlink/coursepackage}/LetterGrade.java (100%) rename src/main/java/{TutorLink/list => tutorlink/listpackage}/AssignmentList.java (80%) rename src/main/java/{TutorLink/list => tutorlink/listpackage}/AttendanceList.java (84%) rename src/main/java/{TutorLink/list => tutorlink/listpackage}/CourseList.java (78%) create mode 100644 src/main/java/tutorlink/listpackage/ItemList.java create mode 100644 src/main/java/tutorlink/listpackage/StudentList.java rename src/main/java/{TutorLink/parser => tutorlink/parserpackage}/Parser.java (73%) create mode 100644 src/main/java/tutorlink/studentpackage/StudentClass.java rename src/test/java/{TutorLink/list => listpackage}/AssignmentListTest.java (96%) rename src/test/java/{TutorLink/list => listpackage}/AttendanceListTest.java (54%) rename src/test/java/{TutorLink/list => listpackage}/CourseListTest.java (51%) rename src/test/java/{TutorLink/list => listpackage}/StudentListTest.java (88%) diff --git a/src/main/java/TutorLink/TutorLink.java b/src/main/java/TutorLink.java similarity index 100% rename from src/main/java/TutorLink/TutorLink.java rename to src/main/java/TutorLink.java diff --git a/src/main/java/TutorLink/command/student_command/StudentCommand.java b/src/main/java/TutorLink/command/student_command/StudentCommand.java deleted file mode 100644 index 3030e42ff4..0000000000 --- a/src/main/java/TutorLink/command/student_command/StudentCommand.java +++ /dev/null @@ -1,17 +0,0 @@ -package TutorLink.command.student_command; - -import TutorLink.command.Command; -import tutorlink.student.Student; - -public abstract class StudentCommand extends Command { - protected Student student; - - public StudentCommand(Student student) { - this.student = student; - } - - @Override - public boolean isExit() { - return false; - } -} diff --git a/src/main/java/TutorLink/list/List.java b/src/main/java/TutorLink/list/List.java deleted file mode 100644 index 1e3ac07641..0000000000 --- a/src/main/java/TutorLink/list/List.java +++ /dev/null @@ -1,4 +0,0 @@ -package TutorLink.list; - -public class List { -} diff --git a/src/main/java/TutorLink/list/StudentList.java b/src/main/java/TutorLink/list/StudentList.java deleted file mode 100644 index 4f8401ff5e..0000000000 --- a/src/main/java/TutorLink/list/StudentList.java +++ /dev/null @@ -1,29 +0,0 @@ -package TutorLink.list; - -import TutorLink.list.List; -import tutorlink.student.Student; -import java.util.ArrayList; - -public class StudentList extends List { - private ArrayList studentArrayList; - - public StudentList() { - this.studentArrayList = new ArrayList<>(); - } - - public void deleteStudent(Student student) { - studentArrayList.remove(student); - } - - public void addStudent(Student student) { - studentArrayList.add(student); - } - - public int getNumberOfStudents() { - return studentArrayList.size(); - } - - public ArrayList getStudentArrayList() { - return studentArrayList; - } -} diff --git a/src/main/java/TutorLink/student/Student.java b/src/main/java/TutorLink/student/Student.java deleted file mode 100644 index 23603f270c..0000000000 --- a/src/main/java/TutorLink/student/Student.java +++ /dev/null @@ -1,28 +0,0 @@ -package tutorlink.student; - -public class Student { - private String matricNumber; - private double GPA; - - public Student(String matricNumber) { - this.matricNumber = matricNumber; - this.GPA = 5.0; // Default GPA value if not given - } - - public Student(String matricNumber, double GPA) { - this.matricNumber = matricNumber; - this.GPA = GPA; - } - - public String getMatricNumber() { - return matricNumber; - } - - public double getGPA() { - return GPA; - } - - public void setGPA(double GPA) { - this.GPA = GPA; - } -} diff --git a/src/main/java/TutorLink/assignment/Assignment.java b/src/main/java/tutorlink/assignmentpackage/Assignment.java similarity index 100% rename from src/main/java/TutorLink/assignment/Assignment.java rename to src/main/java/tutorlink/assignmentpackage/Assignment.java diff --git a/src/main/java/TutorLink/attendance/Attendance.java b/src/main/java/tutorlink/attendancepackage/Attendance.java similarity index 100% rename from src/main/java/TutorLink/attendance/Attendance.java rename to src/main/java/tutorlink/attendancepackage/Attendance.java diff --git a/src/main/java/TutorLink/command/Command.java b/src/main/java/tutorlink/commandpackage/Command.java similarity index 72% rename from src/main/java/TutorLink/command/Command.java rename to src/main/java/tutorlink/commandpackage/Command.java index 933e6732ff..9173d9af46 100644 --- a/src/main/java/TutorLink/command/Command.java +++ b/src/main/java/tutorlink/commandpackage/Command.java @@ -1,6 +1,6 @@ -package TutorLink.command; +package TutorLink.commandpackage; -import TutorLink.list.List; +import TutorLink.listpackage.ItemList; /** * Represents an interpreted Command from the user. A Command object corresponds to a @@ -10,12 +10,12 @@ public abstract class Command { /** * Executes the required operations to perform the command issued by the user. */ - abstract public void execute(List list); + public abstract void execute(ItemList list); /** * Checks if the command is an exit command. * * @return whether the current command is an ExitCommand */ - abstract public boolean isExit(); + public abstract boolean isExit(); } diff --git a/src/main/java/TutorLink/command/assignment_command/AddAssignmentCommand.java b/src/main/java/tutorlink/commandpackage/assignmentcommand/AddAssignmentCommand.java similarity index 67% rename from src/main/java/TutorLink/command/assignment_command/AddAssignmentCommand.java rename to src/main/java/tutorlink/commandpackage/assignmentcommand/AddAssignmentCommand.java index 9f7516f4ce..ad062df467 100644 --- a/src/main/java/TutorLink/command/assignment_command/AddAssignmentCommand.java +++ b/src/main/java/tutorlink/commandpackage/assignmentcommand/AddAssignmentCommand.java @@ -1,9 +1,7 @@ -package TutorLink.command.assignment_command; +package TutorLink.commandpackage.AssignmentCommand; -import TutorLink.list.List; import tutorlink.assignment.Assignment; - -import java.util.ArrayList; +import TutorLink.listpackage.ItemList; public class AddAssignmentCommand extends AssignmentCommand { public AddAssignmentCommand(Assignment assignment) { @@ -11,7 +9,7 @@ public AddAssignmentCommand(Assignment assignment) { } @Override - public void execute(List list) { + public void execute(ItemList list) { } diff --git a/src/main/java/TutorLink/command/assignment_command/AssignmentCommand.java b/src/main/java/tutorlink/commandpackage/assignmentcommand/AssignmentCommand.java similarity index 73% rename from src/main/java/TutorLink/command/assignment_command/AssignmentCommand.java rename to src/main/java/tutorlink/commandpackage/assignmentcommand/AssignmentCommand.java index e8ce1e44ac..36ace2bbbd 100644 --- a/src/main/java/TutorLink/command/assignment_command/AssignmentCommand.java +++ b/src/main/java/tutorlink/commandpackage/assignmentcommand/AssignmentCommand.java @@ -1,10 +1,8 @@ -package TutorLink.command.assignment_command; +package TutorLink.commandpackage.AssignmentCommand; -import TutorLink.command.Command; +import TutorLink.commandpackage.Command; import tutorlink.assignment.Assignment; -import java.util.ArrayList; - public abstract class AssignmentCommand extends Command { private Assignment assignment; diff --git a/src/main/java/TutorLink/command/assignment_command/DeleteAssignmentCommand.java b/src/main/java/tutorlink/commandpackage/assignmentcommand/DeleteAssignmentCommand.java similarity index 61% rename from src/main/java/TutorLink/command/assignment_command/DeleteAssignmentCommand.java rename to src/main/java/tutorlink/commandpackage/assignmentcommand/DeleteAssignmentCommand.java index 49ff660413..29a4600fca 100644 --- a/src/main/java/TutorLink/command/assignment_command/DeleteAssignmentCommand.java +++ b/src/main/java/tutorlink/commandpackage/assignmentcommand/DeleteAssignmentCommand.java @@ -1,10 +1,8 @@ -package TutorLink.command.assignment_command; +package TutorLink.commandpackage.AssignmentCommand; -import TutorLink.list.List; +import TutorLink.listpackage.ItemList; import tutorlink.assignment.Assignment; -import java.util.ArrayList; - public class DeleteAssignmentCommand extends AssignmentCommand{ public DeleteAssignmentCommand(Assignment assignment) { super(assignment); @@ -12,7 +10,7 @@ public DeleteAssignmentCommand(Assignment assignment) { @Override - public void execute(List list) { + public void execute(ItemList list) { } } diff --git a/src/main/java/TutorLink/command/attendance_command/AddAttendanceCommand.java b/src/main/java/tutorlink/commandpackage/attendancecommand/AddAttendanceCommand.java similarity index 60% rename from src/main/java/TutorLink/command/attendance_command/AddAttendanceCommand.java rename to src/main/java/tutorlink/commandpackage/attendancecommand/AddAttendanceCommand.java index da66a97c6d..2452bdba81 100644 --- a/src/main/java/TutorLink/command/attendance_command/AddAttendanceCommand.java +++ b/src/main/java/tutorlink/commandpackage/attendancecommand/AddAttendanceCommand.java @@ -1,10 +1,8 @@ -package TutorLink.command.attendance_command; +package TutorLink.commandpackage.AttendanceCommand; -import TutorLink.list.List; +import TutorLink.listpackage.ItemList; import tutorlink.attendance.Attendance; -import java.util.ArrayList; - public class AddAttendanceCommand extends AttendanceCommand{ public AddAttendanceCommand(Attendance attendance) { @@ -12,7 +10,7 @@ public AddAttendanceCommand(Attendance attendance) { } @Override - public void execute(List list) { + public void execute(ItemList list) { } } diff --git a/src/main/java/TutorLink/command/attendance_command/AttendanceCommand.java b/src/main/java/tutorlink/commandpackage/attendancecommand/AttendanceCommand.java similarity index 76% rename from src/main/java/TutorLink/command/attendance_command/AttendanceCommand.java rename to src/main/java/tutorlink/commandpackage/attendancecommand/AttendanceCommand.java index 1465ecc8c1..bb73e3ae41 100644 --- a/src/main/java/TutorLink/command/attendance_command/AttendanceCommand.java +++ b/src/main/java/tutorlink/commandpackage/attendancecommand/AttendanceCommand.java @@ -1,6 +1,6 @@ -package TutorLink.command.attendance_command; +package TutorLink.commandpackage.AttendanceCommand; -import TutorLink.command.Command; +import TutorLink.commandpackage.Command; import tutorlink.attendance.Attendance; public abstract class AttendanceCommand extends Command { diff --git a/src/main/java/TutorLink/command/attendance_command/DeleteAttendanceCommand.java b/src/main/java/tutorlink/commandpackage/attendancecommand/DeleteAttendanceCommand.java similarity index 61% rename from src/main/java/TutorLink/command/attendance_command/DeleteAttendanceCommand.java rename to src/main/java/tutorlink/commandpackage/attendancecommand/DeleteAttendanceCommand.java index 21782fae15..9db9e1a294 100644 --- a/src/main/java/TutorLink/command/attendance_command/DeleteAttendanceCommand.java +++ b/src/main/java/tutorlink/commandpackage/attendancecommand/DeleteAttendanceCommand.java @@ -1,10 +1,8 @@ -package TutorLink.command.attendance_command; +package TutorLink.commandpackage.AttendanceCommand; -import TutorLink.list.List; +import tutorlink.listpackage.ItemList; import tutorlink.attendance.Attendance; -import java.util.ArrayList; - public class DeleteAttendanceCommand extends AttendanceCommand{ public DeleteAttendanceCommand(Attendance attendance) { @@ -12,7 +10,7 @@ public DeleteAttendanceCommand(Attendance attendance) { } @Override - public void execute(List list) { + public void execute(ItemList list) { } } diff --git a/src/main/java/TutorLink/command/student_command/addStudentCommand.java b/src/main/java/tutorlink/commandpackage/studentcommand/AddStudentCommand.java similarity index 63% rename from src/main/java/TutorLink/command/student_command/addStudentCommand.java rename to src/main/java/tutorlink/commandpackage/studentcommand/AddStudentCommand.java index c9502ca16c..577a8a26e4 100644 --- a/src/main/java/TutorLink/command/student_command/addStudentCommand.java +++ b/src/main/java/tutorlink/commandpackage/studentcommand/AddStudentCommand.java @@ -1,20 +1,18 @@ -package TutorLink.command.student_command; +package TutorLink.commandpackage.StudentCommand; -import TutorLink.list.List; -import tutorlink.student.Student; -import TutorLink.list.StudentList; - -import java.util.ArrayList; +import TutorLink.listpackage.ItemList; +import TutorLink.listpackage.StudentList; +import TutorLink.studentpackage.StudentClass; public class AddStudentCommand extends StudentCommand { - public AddStudentCommand(Student student) { + public AddStudentCommand(StudentClass student) { super(student); } // Implement the generic execute method to handle the List type @Override - public void execute(List list) { + public void execute(ItemList list) { if (list instanceof StudentList) { ((StudentList) list).addStudent(student); } else { diff --git a/src/main/java/TutorLink/command/student_command/DeleteStudentCommand.java b/src/main/java/tutorlink/commandpackage/studentcommand/DeleteStudentCommand.java similarity index 59% rename from src/main/java/TutorLink/command/student_command/DeleteStudentCommand.java rename to src/main/java/tutorlink/commandpackage/studentcommand/DeleteStudentCommand.java index b6f8965484..e96a5b36bb 100644 --- a/src/main/java/TutorLink/command/student_command/DeleteStudentCommand.java +++ b/src/main/java/tutorlink/commandpackage/studentcommand/DeleteStudentCommand.java @@ -1,18 +1,19 @@ -package TutorLink.command.student_command; +package TutorLink.commandpackage.StudentCommand; + +import TutorLink.listpackage.ItemList; +import TutorLink.listpackage.StudentList; +import TutorLink.studentpackage.StudentClass; -import TutorLink.list.List; -import TutorLink.list.StudentList; -import tutorlink.student.Student; public class DeleteStudentCommand extends StudentCommand { - public DeleteStudentCommand(Student student) { + public DeleteStudentCommand(StudentClass student) { super(student); } // Implement the generic execute method to handle the List type @Override - public void execute(List list) { + public void execute(ItemList list) { if (list instanceof StudentList) { ((StudentList) list).deleteStudent(student); } else { diff --git a/src/main/java/tutorlink/commandpackage/studentcommand/StudentCommand.java b/src/main/java/tutorlink/commandpackage/studentcommand/StudentCommand.java new file mode 100644 index 0000000000..68dc62a975 --- /dev/null +++ b/src/main/java/tutorlink/commandpackage/studentcommand/StudentCommand.java @@ -0,0 +1,17 @@ +package TutorLink.commandpackage.StudentCommand; + +import TutorLink.commandpackage.Command; +import TutorLink.studentpackage.StudentClass; + +public abstract class StudentCommand extends Command { + protected StudentClass student; + + public StudentCommand(StudentClass student) { + this.student = student; + } + + @Override + public boolean isExit() { + return false; + } +} diff --git a/src/main/java/TutorLink/course/Course.java b/src/main/java/tutorlink/coursepackage/Course.java similarity index 84% rename from src/main/java/TutorLink/course/Course.java rename to src/main/java/tutorlink/coursepackage/Course.java index babde7b2de..16ebbb3658 100644 --- a/src/main/java/TutorLink/course/Course.java +++ b/src/main/java/tutorlink/coursepackage/Course.java @@ -1,7 +1,7 @@ -package TutorLink.course; +package TutorLink.coursepackage; -import TutorLink.list.AssignmentList; -import TutorLink.list.AttendanceList; +import TutorLink.listpackage.AssignmentList; +import TutorLink.listpackage.AttendanceList; import tutorlink.assignment.Assignment; import tutorlink.course.LetterGrade; diff --git a/src/main/java/TutorLink/course/LetterGrade.java b/src/main/java/tutorlink/coursepackage/LetterGrade.java similarity index 100% rename from src/main/java/TutorLink/course/LetterGrade.java rename to src/main/java/tutorlink/coursepackage/LetterGrade.java diff --git a/src/main/java/TutorLink/list/AssignmentList.java b/src/main/java/tutorlink/listpackage/AssignmentList.java similarity index 80% rename from src/main/java/TutorLink/list/AssignmentList.java rename to src/main/java/tutorlink/listpackage/AssignmentList.java index 743b753d87..059501c30f 100644 --- a/src/main/java/TutorLink/list/AssignmentList.java +++ b/src/main/java/tutorlink/listpackage/AssignmentList.java @@ -1,12 +1,10 @@ -package TutorLink.list; +package TutorLink.listpackage; -import TutorLink.list.List; import tutorlink.assignment.Assignment; import java.util.ArrayList; -import java.util.Arrays; -public class AssignmentList extends List { +public class AssignmentList extends ItemList { private int numberOfAssignments; ArrayList assignmentArrayList; diff --git a/src/main/java/TutorLink/list/AttendanceList.java b/src/main/java/tutorlink/listpackage/AttendanceList.java similarity index 84% rename from src/main/java/TutorLink/list/AttendanceList.java rename to src/main/java/tutorlink/listpackage/AttendanceList.java index 8be0802b4d..fd26e0a4d2 100644 --- a/src/main/java/TutorLink/list/AttendanceList.java +++ b/src/main/java/tutorlink/listpackage/AttendanceList.java @@ -1,11 +1,10 @@ -package TutorLink.list; +package TutorLink.listpackage; -import TutorLink.list.List; import tutorlink.attendance.Attendance; import java.util.ArrayList; -public class AttendanceList extends List { +public class AttendanceList extends ItemList { private ArrayList attendanceArrayList; private int numberOfAttendance; diff --git a/src/main/java/TutorLink/list/CourseList.java b/src/main/java/tutorlink/listpackage/CourseList.java similarity index 78% rename from src/main/java/TutorLink/list/CourseList.java rename to src/main/java/tutorlink/listpackage/CourseList.java index 351a20c9cd..ee970faa7f 100644 --- a/src/main/java/TutorLink/list/CourseList.java +++ b/src/main/java/tutorlink/listpackage/CourseList.java @@ -1,11 +1,11 @@ -package TutorLink.list; +package TutorLink.listpackage; -import TutorLink.course.Course; +import TutorLink.coursepackage.Course; import java.util.ArrayList; -public class CourseList extends List { +public class CourseList extends ItemList { private int numberOfCourses; ArrayList courseArrayList; diff --git a/src/main/java/tutorlink/listpackage/ItemList.java b/src/main/java/tutorlink/listpackage/ItemList.java new file mode 100644 index 0000000000..b6c0b183d8 --- /dev/null +++ b/src/main/java/tutorlink/listpackage/ItemList.java @@ -0,0 +1,4 @@ +package TutorLink.listpackage; + +public class ItemList { +} diff --git a/src/main/java/tutorlink/listpackage/StudentList.java b/src/main/java/tutorlink/listpackage/StudentList.java new file mode 100644 index 0000000000..05f966eccc --- /dev/null +++ b/src/main/java/tutorlink/listpackage/StudentList.java @@ -0,0 +1,29 @@ +package TutorLink.listpackage; + +import TutorLink.studentpackage.StudentClass; + +import java.util.ArrayList; + +public class StudentList extends ItemList { + private ArrayList studentArrayList; + + public StudentList() { + this.studentArrayList = new ArrayList<>(); + } + + public void deleteStudent(StudentClass student) { + studentArrayList.remove(student); + } + + public void addStudent(StudentClass student) { + studentArrayList.add(student); + } + + public int getNumberOfStudents() { + return studentArrayList.size(); + } + + public ArrayList getStudentArrayList() { + return studentArrayList; + } +} diff --git a/src/main/java/TutorLink/parser/Parser.java b/src/main/java/tutorlink/parserpackage/Parser.java similarity index 73% rename from src/main/java/TutorLink/parser/Parser.java rename to src/main/java/tutorlink/parserpackage/Parser.java index 37f3ef84a6..82b079a5b8 100644 --- a/src/main/java/TutorLink/parser/Parser.java +++ b/src/main/java/tutorlink/parserpackage/Parser.java @@ -1,10 +1,10 @@ -package tutorlink.parser; +package TutorLink.parserpackage; -import TutorLink.command.student_command.AddStudentCommand; -import TutorLink.command.student_command.DeleteStudentCommand; -import TutorLink.list.StudentList; +import TutorLink.commandpackage.StudentCommand.AddStudentCommand; +import TutorLink.commandpackage.StudentCommand.DeleteStudentCommand; +import TutorLink.listpackage.StudentList; +import TutorLink.studentpackage.StudentClass; import exception.StudentNotFoundException; -import tutorlink.student.Student; public class Parser { @@ -16,8 +16,8 @@ public class Parser { * @return the Student object with the given matriculation number * @throws StudentNotFoundException if no student with the given matriculation number is found */ - private Student findStudent(String matricNumber, StudentList studentList) throws StudentNotFoundException { - for (Student a : studentList.getStudentArrayList()) { + private StudentClass findStudent(String matricNumber, StudentList studentList) throws StudentNotFoundException { + for (StudentClass a : studentList.getStudentArrayList()) { if (a.getMatricNumber().equals(matricNumber)) { return a; } @@ -29,11 +29,11 @@ private Student findStudent(String matricNumber, StudentList studentList) throws * Creates an AddStudentCommand for adding a new student. * * @param matricNumber the matriculation number of the new student - * @param GPA the GPA of the new student + * @param gpa the gpa of the new student * @return an AddStudentCommand object to add the new student */ - public AddStudentCommand addStudentCommand(String matricNumber, double GPA) { - Student newStudent = new Student(matricNumber, GPA); + public AddStudentCommand addStudentCommand(String matricNumber, double gpa) { + StudentClass newStudent = new StudentClass(matricNumber, gpa); AddStudentCommand addStudentCommand = new AddStudentCommand(newStudent); return addStudentCommand; } @@ -47,7 +47,7 @@ public AddStudentCommand addStudentCommand(String matricNumber, double GPA) { */ public DeleteStudentCommand deleteStudentCommand(String matricNumber, StudentList studentList) { try { - Student selectedStudent = findStudent(matricNumber, studentList); + StudentClass selectedStudent = findStudent(matricNumber, studentList); DeleteStudentCommand deleteStudentCommand = new DeleteStudentCommand(selectedStudent); return deleteStudentCommand; } catch (StudentNotFoundException e) { diff --git a/src/main/java/tutorlink/studentpackage/StudentClass.java b/src/main/java/tutorlink/studentpackage/StudentClass.java new file mode 100644 index 0000000000..26a8ad79cf --- /dev/null +++ b/src/main/java/tutorlink/studentpackage/StudentClass.java @@ -0,0 +1,28 @@ +package TutorLink.studentpackage; + +public class StudentClass { + private String matricNumber; + private double gpa; + + public StudentClass(String matricNumber) { + this.matricNumber = matricNumber; + this.gpa = 5.0; // Default gpa value if not given + } + + public StudentClass(String matricNumber, double gpa) { + this.matricNumber = matricNumber; + this.gpa = gpa; + } + + public String getMatricNumber() { + return matricNumber; + } + + public double getGpa() { + return gpa; + } + + public void setGPA(double gpa) { + this.gpa = gpa; + } +} diff --git a/src/test/java/TutorLink/list/AssignmentListTest.java b/src/test/java/listpackage/AssignmentListTest.java similarity index 96% rename from src/test/java/TutorLink/list/AssignmentListTest.java rename to src/test/java/listpackage/AssignmentListTest.java index 4e9c7b2057..45b5b5d918 100644 --- a/src/test/java/TutorLink/list/AssignmentListTest.java +++ b/src/test/java/listpackage/AssignmentListTest.java @@ -1,6 +1,5 @@ -package TutorLink.list; +package TutorLink.listpackage; -import TutorLink.list.AssignmentList; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import tutorlink.assignment.Assignment; diff --git a/src/test/java/TutorLink/list/AttendanceListTest.java b/src/test/java/listpackage/AttendanceListTest.java similarity index 54% rename from src/test/java/TutorLink/list/AttendanceListTest.java rename to src/test/java/listpackage/AttendanceListTest.java index 50e376a240..258f4d8c52 100644 --- a/src/test/java/TutorLink/list/AttendanceListTest.java +++ b/src/test/java/listpackage/AttendanceListTest.java @@ -1,4 +1,4 @@ -package tutorlink.list; +package TutorLink.listpackage; public class AttendanceListTest { } diff --git a/src/test/java/TutorLink/list/CourseListTest.java b/src/test/java/listpackage/CourseListTest.java similarity index 51% rename from src/test/java/TutorLink/list/CourseListTest.java rename to src/test/java/listpackage/CourseListTest.java index 6720ba0a7f..45d58fb52d 100644 --- a/src/test/java/TutorLink/list/CourseListTest.java +++ b/src/test/java/listpackage/CourseListTest.java @@ -1,4 +1,4 @@ -package tutorlink.list; +package TutorLink.listpackage; public class CourseListTest { } diff --git a/src/test/java/TutorLink/list/StudentListTest.java b/src/test/java/listpackage/StudentListTest.java similarity index 88% rename from src/test/java/TutorLink/list/StudentListTest.java rename to src/test/java/listpackage/StudentListTest.java index 0d557fe79e..dc5010e9a9 100644 --- a/src/test/java/TutorLink/list/StudentListTest.java +++ b/src/test/java/listpackage/StudentListTest.java @@ -1,8 +1,8 @@ package tutorlink.list; -import TutorLink.list.StudentList; +import TutorLink.listpackage.StudentList; import tutorlink.parser.Parser; -import TutorLink.command.student_command.AddStudentCommand; -import TutorLink.command.student_command.DeleteStudentCommand; +import TutorLink.commandpackage.StudentCommand.AddStudentCommand; +import TutorLink.commandpackage.StudentCommand.DeleteStudentCommand; import org.junit.jupiter.api.Test; From 3131b0baba6ebaee292bf819bcf97e3e873e8c2a Mon Sep 17 00:00:00 2001 From: yeekian <53704991+yeekian@users.noreply.github.com> Date: Fri, 11 Oct 2024 00:46:36 +0800 Subject: [PATCH 6/9] Refactor code to pass CI --- src/main/java/TutorLink.java | 2 -- .../tutorlink/assignmentpackage/Assignment.java | 2 +- .../tutorlink/attendancepackage/Attendance.java | 2 +- src/main/java/tutorlink/commandpackage/Command.java | 4 ++-- .../assignmentcommand/AddAssignmentCommand.java | 7 +++---- .../assignmentcommand/AssignmentCommand.java | 6 +++--- .../assignmentcommand/DeleteAssignmentCommand.java | 6 +++--- .../attendancecommand/AddAttendanceCommand.java | 6 +++--- .../attendancecommand/AttendanceCommand.java | 6 +++--- .../attendancecommand/DeleteAttendanceCommand.java | 4 ++-- .../studentcommand/AddStudentCommand.java | 10 +++++----- .../studentcommand/DeleteStudentCommand.java | 8 ++++---- .../studentcommand/StudentCommand.java | 6 +++--- src/main/java/tutorlink/coursepackage/Course.java | 13 ++++++------- .../java/tutorlink/coursepackage/LetterGrade.java | 2 +- .../java/tutorlink/listpackage/AssignmentList.java | 6 +++--- .../java/tutorlink/listpackage/AttendanceList.java | 4 ++-- src/main/java/tutorlink/listpackage/CourseList.java | 6 +++--- src/main/java/tutorlink/listpackage/ItemList.java | 2 +- .../java/tutorlink/listpackage/StudentList.java | 4 ++-- src/main/java/tutorlink/parserpackage/Parser.java | 10 +++++----- .../java/tutorlink/studentpackage/StudentClass.java | 2 +- src/test/java/listpackage/AssignmentListTest.java | 5 +++-- src/test/java/listpackage/AttendanceListTest.java | 2 +- src/test/java/listpackage/CourseListTest.java | 2 +- src/test/java/listpackage/StudentListTest.java | 6 +++--- 26 files changed, 65 insertions(+), 68 deletions(-) diff --git a/src/main/java/TutorLink.java b/src/main/java/TutorLink.java index 60a66a1667..f65a5c4c59 100644 --- a/src/main/java/TutorLink.java +++ b/src/main/java/TutorLink.java @@ -1,5 +1,3 @@ -package tutorlink; - import java.util.Scanner; /** diff --git a/src/main/java/tutorlink/assignmentpackage/Assignment.java b/src/main/java/tutorlink/assignmentpackage/Assignment.java index 1bb7686921..7398811fcf 100644 --- a/src/main/java/tutorlink/assignmentpackage/Assignment.java +++ b/src/main/java/tutorlink/assignmentpackage/Assignment.java @@ -1,4 +1,4 @@ -package tutorlink.assignment; +package tutorlink.assignmentpackage; import java.util.Objects; diff --git a/src/main/java/tutorlink/attendancepackage/Attendance.java b/src/main/java/tutorlink/attendancepackage/Attendance.java index bc151bde12..5ce68bc1f7 100644 --- a/src/main/java/tutorlink/attendancepackage/Attendance.java +++ b/src/main/java/tutorlink/attendancepackage/Attendance.java @@ -1,4 +1,4 @@ -package tutorlink.attendance; +package tutorlink.attendancepackage; public class Attendance { private String attendanceVenue; diff --git a/src/main/java/tutorlink/commandpackage/Command.java b/src/main/java/tutorlink/commandpackage/Command.java index 9173d9af46..dae3d4c936 100644 --- a/src/main/java/tutorlink/commandpackage/Command.java +++ b/src/main/java/tutorlink/commandpackage/Command.java @@ -1,6 +1,6 @@ -package TutorLink.commandpackage; +package tutorlink.commandpackage; -import TutorLink.listpackage.ItemList; +import tutorlink.listpackage.ItemList; /** * Represents an interpreted Command from the user. A Command object corresponds to a diff --git a/src/main/java/tutorlink/commandpackage/assignmentcommand/AddAssignmentCommand.java b/src/main/java/tutorlink/commandpackage/assignmentcommand/AddAssignmentCommand.java index ad062df467..34bbe3bf1c 100644 --- a/src/main/java/tutorlink/commandpackage/assignmentcommand/AddAssignmentCommand.java +++ b/src/main/java/tutorlink/commandpackage/assignmentcommand/AddAssignmentCommand.java @@ -1,14 +1,13 @@ -package TutorLink.commandpackage.AssignmentCommand; +package tutorlink.commandpackage.assignmentcommand; -import tutorlink.assignment.Assignment; -import TutorLink.listpackage.ItemList; +import tutorlink.assignmentpackage.Assignment; +import tutorlink.listpackage.ItemList; public class AddAssignmentCommand extends AssignmentCommand { public AddAssignmentCommand(Assignment assignment) { super(assignment); } - @Override public void execute(ItemList list) { } diff --git a/src/main/java/tutorlink/commandpackage/assignmentcommand/AssignmentCommand.java b/src/main/java/tutorlink/commandpackage/assignmentcommand/AssignmentCommand.java index 36ace2bbbd..6266dd7ee5 100644 --- a/src/main/java/tutorlink/commandpackage/assignmentcommand/AssignmentCommand.java +++ b/src/main/java/tutorlink/commandpackage/assignmentcommand/AssignmentCommand.java @@ -1,7 +1,7 @@ -package TutorLink.commandpackage.AssignmentCommand; +package tutorlink.commandpackage.assignmentcommand; -import TutorLink.commandpackage.Command; -import tutorlink.assignment.Assignment; +import tutorlink.commandpackage.Command; +import tutorlink.assignmentpackage.Assignment; public abstract class AssignmentCommand extends Command { private Assignment assignment; diff --git a/src/main/java/tutorlink/commandpackage/assignmentcommand/DeleteAssignmentCommand.java b/src/main/java/tutorlink/commandpackage/assignmentcommand/DeleteAssignmentCommand.java index 29a4600fca..8984dd833d 100644 --- a/src/main/java/tutorlink/commandpackage/assignmentcommand/DeleteAssignmentCommand.java +++ b/src/main/java/tutorlink/commandpackage/assignmentcommand/DeleteAssignmentCommand.java @@ -1,7 +1,7 @@ -package TutorLink.commandpackage.AssignmentCommand; +package tutorlink.commandpackage.assignmentcommand; -import TutorLink.listpackage.ItemList; -import tutorlink.assignment.Assignment; +import tutorlink.listpackage.ItemList; +import tutorlink.assignmentpackage.Assignment; public class DeleteAssignmentCommand extends AssignmentCommand{ public DeleteAssignmentCommand(Assignment assignment) { diff --git a/src/main/java/tutorlink/commandpackage/attendancecommand/AddAttendanceCommand.java b/src/main/java/tutorlink/commandpackage/attendancecommand/AddAttendanceCommand.java index 2452bdba81..0ce5654bf2 100644 --- a/src/main/java/tutorlink/commandpackage/attendancecommand/AddAttendanceCommand.java +++ b/src/main/java/tutorlink/commandpackage/attendancecommand/AddAttendanceCommand.java @@ -1,7 +1,7 @@ -package TutorLink.commandpackage.AttendanceCommand; +package tutorlink.commandpackage.attendancecommand; -import TutorLink.listpackage.ItemList; -import tutorlink.attendance.Attendance; +import tutorlink.listpackage.ItemList; +import tutorlink.attendancepackage.Attendance; public class AddAttendanceCommand extends AttendanceCommand{ diff --git a/src/main/java/tutorlink/commandpackage/attendancecommand/AttendanceCommand.java b/src/main/java/tutorlink/commandpackage/attendancecommand/AttendanceCommand.java index bb73e3ae41..8bef10cb79 100644 --- a/src/main/java/tutorlink/commandpackage/attendancecommand/AttendanceCommand.java +++ b/src/main/java/tutorlink/commandpackage/attendancecommand/AttendanceCommand.java @@ -1,7 +1,7 @@ -package TutorLink.commandpackage.AttendanceCommand; +package tutorlink.commandpackage.attendancecommand; -import TutorLink.commandpackage.Command; -import tutorlink.attendance.Attendance; +import tutorlink.commandpackage.Command; +import tutorlink.attendancepackage.Attendance; public abstract class AttendanceCommand extends Command { private Attendance attendance; diff --git a/src/main/java/tutorlink/commandpackage/attendancecommand/DeleteAttendanceCommand.java b/src/main/java/tutorlink/commandpackage/attendancecommand/DeleteAttendanceCommand.java index 9db9e1a294..11b0303cbc 100644 --- a/src/main/java/tutorlink/commandpackage/attendancecommand/DeleteAttendanceCommand.java +++ b/src/main/java/tutorlink/commandpackage/attendancecommand/DeleteAttendanceCommand.java @@ -1,7 +1,7 @@ -package TutorLink.commandpackage.AttendanceCommand; +package tutorlink.commandpackage.attendancecommand; import tutorlink.listpackage.ItemList; -import tutorlink.attendance.Attendance; +import tutorlink.attendancepackage.Attendance; public class DeleteAttendanceCommand extends AttendanceCommand{ diff --git a/src/main/java/tutorlink/commandpackage/studentcommand/AddStudentCommand.java b/src/main/java/tutorlink/commandpackage/studentcommand/AddStudentCommand.java index 577a8a26e4..45b5f4b00e 100644 --- a/src/main/java/tutorlink/commandpackage/studentcommand/AddStudentCommand.java +++ b/src/main/java/tutorlink/commandpackage/studentcommand/AddStudentCommand.java @@ -1,8 +1,8 @@ -package TutorLink.commandpackage.StudentCommand; +package tutorlink.commandpackage.studentcommand; -import TutorLink.listpackage.ItemList; -import TutorLink.listpackage.StudentList; -import TutorLink.studentpackage.StudentClass; +import tutorlink.listpackage.ItemList; +import tutorlink.listpackage.StudentList; +import tutorlink.studentpackage.StudentClass; public class AddStudentCommand extends StudentCommand { @@ -24,4 +24,4 @@ public void execute(ItemList list) { public boolean isExit() { return super.isExit(); } -} \ No newline at end of file +} diff --git a/src/main/java/tutorlink/commandpackage/studentcommand/DeleteStudentCommand.java b/src/main/java/tutorlink/commandpackage/studentcommand/DeleteStudentCommand.java index e96a5b36bb..d0e754124d 100644 --- a/src/main/java/tutorlink/commandpackage/studentcommand/DeleteStudentCommand.java +++ b/src/main/java/tutorlink/commandpackage/studentcommand/DeleteStudentCommand.java @@ -1,8 +1,8 @@ -package TutorLink.commandpackage.StudentCommand; +package tutorlink.commandpackage.studentcommand; -import TutorLink.listpackage.ItemList; -import TutorLink.listpackage.StudentList; -import TutorLink.studentpackage.StudentClass; +import tutorlink.listpackage.ItemList; +import tutorlink.listpackage.StudentList; +import tutorlink.studentpackage.StudentClass; public class DeleteStudentCommand extends StudentCommand { diff --git a/src/main/java/tutorlink/commandpackage/studentcommand/StudentCommand.java b/src/main/java/tutorlink/commandpackage/studentcommand/StudentCommand.java index 68dc62a975..6de1b3ca86 100644 --- a/src/main/java/tutorlink/commandpackage/studentcommand/StudentCommand.java +++ b/src/main/java/tutorlink/commandpackage/studentcommand/StudentCommand.java @@ -1,7 +1,7 @@ -package TutorLink.commandpackage.StudentCommand; +package tutorlink.commandpackage.studentcommand; -import TutorLink.commandpackage.Command; -import TutorLink.studentpackage.StudentClass; +import tutorlink.commandpackage.Command; +import tutorlink.studentpackage.StudentClass; public abstract class StudentCommand extends Command { protected StudentClass student; diff --git a/src/main/java/tutorlink/coursepackage/Course.java b/src/main/java/tutorlink/coursepackage/Course.java index 16ebbb3658..abfbcc14aa 100644 --- a/src/main/java/tutorlink/coursepackage/Course.java +++ b/src/main/java/tutorlink/coursepackage/Course.java @@ -1,16 +1,15 @@ -package TutorLink.coursepackage; +package tutorlink.coursepackage; -import TutorLink.listpackage.AssignmentList; -import TutorLink.listpackage.AttendanceList; -import tutorlink.assignment.Assignment; -import tutorlink.course.LetterGrade; +import tutorlink.listpackage.AssignmentList; +import tutorlink.listpackage.AttendanceList; +import tutorlink.assignmentpackage.Assignment; public class Course { private String courseID; private int courseMCs; private LetterGrade grade; - AssignmentList assignments; - AttendanceList attendances; + private AssignmentList assignments; + private AttendanceList attendances; public Course(String courseID, int courseMCs) { diff --git a/src/main/java/tutorlink/coursepackage/LetterGrade.java b/src/main/java/tutorlink/coursepackage/LetterGrade.java index 7e35066561..979c1035cf 100644 --- a/src/main/java/tutorlink/coursepackage/LetterGrade.java +++ b/src/main/java/tutorlink/coursepackage/LetterGrade.java @@ -1,4 +1,4 @@ -package tutorlink.course; +package tutorlink.coursepackage; public enum LetterGrade { A_plus,A,A_minus, diff --git a/src/main/java/tutorlink/listpackage/AssignmentList.java b/src/main/java/tutorlink/listpackage/AssignmentList.java index 059501c30f..6d2d5e2f45 100644 --- a/src/main/java/tutorlink/listpackage/AssignmentList.java +++ b/src/main/java/tutorlink/listpackage/AssignmentList.java @@ -1,12 +1,12 @@ -package TutorLink.listpackage; +package tutorlink.listpackage; -import tutorlink.assignment.Assignment; +import tutorlink.assignmentpackage.Assignment; import java.util.ArrayList; public class AssignmentList extends ItemList { private int numberOfAssignments; - ArrayList assignmentArrayList; + private ArrayList assignmentArrayList; public AssignmentList() { this.numberOfAssignments = 0; diff --git a/src/main/java/tutorlink/listpackage/AttendanceList.java b/src/main/java/tutorlink/listpackage/AttendanceList.java index fd26e0a4d2..e641007fdd 100644 --- a/src/main/java/tutorlink/listpackage/AttendanceList.java +++ b/src/main/java/tutorlink/listpackage/AttendanceList.java @@ -1,6 +1,6 @@ -package TutorLink.listpackage; +package tutorlink.listpackage; -import tutorlink.attendance.Attendance; +import tutorlink.attendancepackage.Attendance; import java.util.ArrayList; diff --git a/src/main/java/tutorlink/listpackage/CourseList.java b/src/main/java/tutorlink/listpackage/CourseList.java index ee970faa7f..3ce9b38ace 100644 --- a/src/main/java/tutorlink/listpackage/CourseList.java +++ b/src/main/java/tutorlink/listpackage/CourseList.java @@ -1,13 +1,13 @@ -package TutorLink.listpackage; +package tutorlink.listpackage; -import TutorLink.coursepackage.Course; +import tutorlink.coursepackage.Course; import java.util.ArrayList; public class CourseList extends ItemList { private int numberOfCourses; - ArrayList courseArrayList; + private ArrayList courseArrayList; public CourseList() { this.numberOfCourses = 0; diff --git a/src/main/java/tutorlink/listpackage/ItemList.java b/src/main/java/tutorlink/listpackage/ItemList.java index b6c0b183d8..f07e3fbcf4 100644 --- a/src/main/java/tutorlink/listpackage/ItemList.java +++ b/src/main/java/tutorlink/listpackage/ItemList.java @@ -1,4 +1,4 @@ -package TutorLink.listpackage; +package tutorlink.listpackage; public class ItemList { } diff --git a/src/main/java/tutorlink/listpackage/StudentList.java b/src/main/java/tutorlink/listpackage/StudentList.java index 05f966eccc..cf730fd37a 100644 --- a/src/main/java/tutorlink/listpackage/StudentList.java +++ b/src/main/java/tutorlink/listpackage/StudentList.java @@ -1,6 +1,6 @@ -package TutorLink.listpackage; +package tutorlink.listpackage; -import TutorLink.studentpackage.StudentClass; +import tutorlink.studentpackage.StudentClass; import java.util.ArrayList; diff --git a/src/main/java/tutorlink/parserpackage/Parser.java b/src/main/java/tutorlink/parserpackage/Parser.java index 82b079a5b8..a7a0bf50cf 100644 --- a/src/main/java/tutorlink/parserpackage/Parser.java +++ b/src/main/java/tutorlink/parserpackage/Parser.java @@ -1,9 +1,9 @@ -package TutorLink.parserpackage; +package tutorlink.parserpackage; -import TutorLink.commandpackage.StudentCommand.AddStudentCommand; -import TutorLink.commandpackage.StudentCommand.DeleteStudentCommand; -import TutorLink.listpackage.StudentList; -import TutorLink.studentpackage.StudentClass; +import tutorlink.commandpackage.studentcommand.AddStudentCommand; +import tutorlink.commandpackage.studentcommand.DeleteStudentCommand; +import tutorlink.listpackage.StudentList; +import tutorlink.studentpackage.StudentClass; import exception.StudentNotFoundException; public class Parser { diff --git a/src/main/java/tutorlink/studentpackage/StudentClass.java b/src/main/java/tutorlink/studentpackage/StudentClass.java index 26a8ad79cf..fa23bb3128 100644 --- a/src/main/java/tutorlink/studentpackage/StudentClass.java +++ b/src/main/java/tutorlink/studentpackage/StudentClass.java @@ -1,4 +1,4 @@ -package TutorLink.studentpackage; +package tutorlink.studentpackage; public class StudentClass { private String matricNumber; diff --git a/src/test/java/listpackage/AssignmentListTest.java b/src/test/java/listpackage/AssignmentListTest.java index 45b5b5d918..56e9e0ea9a 100644 --- a/src/test/java/listpackage/AssignmentListTest.java +++ b/src/test/java/listpackage/AssignmentListTest.java @@ -1,8 +1,9 @@ -package TutorLink.listpackage; +package listpackage; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import tutorlink.assignment.Assignment; +import tutorlink.assignmentpackage.Assignment; +import tutorlink.listpackage.AssignmentList; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.assertFalse; diff --git a/src/test/java/listpackage/AttendanceListTest.java b/src/test/java/listpackage/AttendanceListTest.java index 258f4d8c52..05d07db214 100644 --- a/src/test/java/listpackage/AttendanceListTest.java +++ b/src/test/java/listpackage/AttendanceListTest.java @@ -1,4 +1,4 @@ -package TutorLink.listpackage; +package listpackage; public class AttendanceListTest { } diff --git a/src/test/java/listpackage/CourseListTest.java b/src/test/java/listpackage/CourseListTest.java index 45d58fb52d..50d34ffe99 100644 --- a/src/test/java/listpackage/CourseListTest.java +++ b/src/test/java/listpackage/CourseListTest.java @@ -1,4 +1,4 @@ -package TutorLink.listpackage; +package listpackage; public class CourseListTest { } diff --git a/src/test/java/listpackage/StudentListTest.java b/src/test/java/listpackage/StudentListTest.java index dc5010e9a9..5fb107401e 100644 --- a/src/test/java/listpackage/StudentListTest.java +++ b/src/test/java/listpackage/StudentListTest.java @@ -1,8 +1,8 @@ package tutorlink.list; -import TutorLink.listpackage.StudentList; +import tutorlink.listpackage.StudentList; import tutorlink.parser.Parser; -import TutorLink.commandpackage.StudentCommand.AddStudentCommand; -import TutorLink.commandpackage.StudentCommand.DeleteStudentCommand; +import tutorlink.commandpackage.studentcommand.AddStudentCommand; +import tutorlink.commandpackage.studentcommand.DeleteStudentCommand; import org.junit.jupiter.api.Test; From 62632b6624f2139c37b6f876b500fd50be8a7d9e Mon Sep 17 00:00:00 2001 From: yeekian <53704991+yeekian@users.noreply.github.com> Date: Fri, 11 Oct 2024 00:54:17 +0800 Subject: [PATCH 7/9] Add getAssignmentArrayList --- src/main/java/tutorlink/listpackage/AssignmentList.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/tutorlink/listpackage/AssignmentList.java b/src/main/java/tutorlink/listpackage/AssignmentList.java index 6d2d5e2f45..1dad1664f4 100644 --- a/src/main/java/tutorlink/listpackage/AssignmentList.java +++ b/src/main/java/tutorlink/listpackage/AssignmentList.java @@ -20,4 +20,8 @@ public void deleteAssignment(Assignment assignment){ public void addAssignment(Assignment assignment){ assignmentArrayList.add(assignment); } + + public ArrayList getAssignmentArrayList() { + return assignmentArrayList; + } } From 9269c99e0899dee320c293f4e087dfd38ca2ed29 Mon Sep 17 00:00:00 2001 From: yeekian <53704991+yeekian@users.noreply.github.com> Date: Fri, 11 Oct 2024 00:54:41 +0800 Subject: [PATCH 8/9] Refactor tests to pass CI --- .../java/listpackage/AssignmentListTest.java | 16 ++++++++-------- src/test/java/listpackage/StudentListTest.java | 5 +---- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/test/java/listpackage/AssignmentListTest.java b/src/test/java/listpackage/AssignmentListTest.java index 56e9e0ea9a..706208ced2 100644 --- a/src/test/java/listpackage/AssignmentListTest.java +++ b/src/test/java/listpackage/AssignmentListTest.java @@ -25,39 +25,39 @@ void setUp() { @Test void testAddAssignment() { // Initially, the list should be empty - assertTrue(assignmentList.assignmentArrayList.isEmpty()); + assertTrue(assignmentList.getAssignmentArrayList().isEmpty()); // Add an assignment assignmentList.addAssignment(assignment1); // Check that the assignment was added - assertFalse(assignmentList.assignmentArrayList.isEmpty()); - assertEquals(1, assignmentList.assignmentArrayList.size()); - assertEquals(assignment1, assignmentList.assignmentArrayList.get(0)); + assertFalse(assignmentList.getAssignmentArrayList().isEmpty()); + assertEquals(1, assignmentList.getAssignmentArrayList().size()); + assertEquals(assignment1, assignmentList.getAssignmentArrayList().get(0)); } @Test void testDeleteAssignment() { // Add an assignment first assignmentList.addAssignment(assignment1); - assertEquals(1, assignmentList.assignmentArrayList.size()); + assertEquals(1, assignmentList.getAssignmentArrayList().size()); // Now delete the assignment assignmentList.deleteAssignment(assignment1); // Check that the assignment was removed - assertEquals(0, assignmentList.assignmentArrayList.size()); + assertEquals(0, assignmentList.getAssignmentArrayList().size()); } @Test void testDeleteNonExistentAssignment() { // Initially, the list should be empty - assertTrue(assignmentList.assignmentArrayList.isEmpty()); + assertTrue(assignmentList.getAssignmentArrayList().isEmpty()); // Attempt to delete a non-existent assignment assignmentList.deleteAssignment(assignment1); // The size should still be zero - assertEquals(0, assignmentList.assignmentArrayList.size()); + assertEquals(0, assignmentList.getAssignmentArrayList().size()); } } diff --git a/src/test/java/listpackage/StudentListTest.java b/src/test/java/listpackage/StudentListTest.java index 5fb107401e..d5fc97fc62 100644 --- a/src/test/java/listpackage/StudentListTest.java +++ b/src/test/java/listpackage/StudentListTest.java @@ -1,15 +1,12 @@ package tutorlink.list; import tutorlink.listpackage.StudentList; -import tutorlink.parser.Parser; import tutorlink.commandpackage.studentcommand.AddStudentCommand; import tutorlink.commandpackage.studentcommand.DeleteStudentCommand; import org.junit.jupiter.api.Test; +import tutorlink.parserpackage.Parser; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.fail; - - public class StudentListTest { From ff8bf87355e93562d32b70d426322a0b4e48893d Mon Sep 17 00:00:00 2001 From: yeekian <53704991+yeekian@users.noreply.github.com> Date: Fri, 11 Oct 2024 01:32:22 +0800 Subject: [PATCH 9/9] Merge branch 'master' of https://github.com/AY2425S1-CS2113-W13-4/tp into branch-AddStudents # Conflicts: # src/main/java/TutorLink.java # src/main/java/TutorLink/TutorLink.java # src/main/java/TutorLink/assignment/Assignment.java # src/main/java/TutorLink/attendance/Attendance.java # src/main/java/TutorLink/command/Command.java # src/main/java/TutorLink/command/assignment_command/AddAssignmentCommand.java # src/main/java/TutorLink/command/assignment_command/AssignmentCommand.java # src/main/java/TutorLink/command/attendance_command/AttendanceCommand.java # src/main/java/TutorLink/command/attendance_command/DeleteAttendanceCommand.java # src/main/java/TutorLink/course/Course.java # src/main/java/TutorLink/course/LetterGrade.java # src/main/java/TutorLink/list/AssignmentList.java # src/main/java/TutorLink/list/AttendanceList.java # src/main/java/TutorLink/list/CourseList.java # src/main/java/tutorlink/TutorLink.java # src/main/java/tutorlink/assignment/Assignment.java # src/main/java/tutorlink/assignmentpackage/Assignment.java # src/main/java/tutorlink/attendance/Attendance.java # src/main/java/tutorlink/attendancepackage/Attendance.java # src/main/java/tutorlink/command/Command.java # src/main/java/tutorlink/command/assignmentcommand/AddAssignmentCommand.java # src/main/java/tutorlink/command/assignmentcommand/AssignmentCommand.java # src/main/java/tutorlink/command/assignmentcommand/DeleteAssignmentCommand.java # src/main/java/tutorlink/command/attendancecommand/AddAttendanceCommand.java # src/main/java/tutorlink/command/attendancecommand/AttendanceCommand.java # src/main/java/tutorlink/command/attendancecommand/DeleteAttendanceCommand.java # src/main/java/tutorlink/command/studentcommand/DeleteStudentCommand.java # src/main/java/tutorlink/command/studentcommand/StudentCommand.java # src/main/java/tutorlink/command/studentcommand/addStudentCommand.java # src/main/java/tutorlink/commandpackage/Command.java # src/main/java/tutorlink/commandpackage/assignmentcommand/AddAssignmentCommand.java # src/main/java/tutorlink/commandpackage/assignmentcommand/AssignmentCommand.java # src/main/java/tutorlink/commandpackage/attendancecommand/AttendanceCommand.java # src/main/java/tutorlink/commandpackage/attendancecommand/DeleteAttendanceCommand.java # src/main/java/tutorlink/course/Course.java # src/main/java/tutorlink/course/LetterGrade.java # src/main/java/tutorlink/coursepackage/Course.java # src/main/java/tutorlink/coursepackage/LetterGrade.java # src/main/java/tutorlink/list/AssignmentList.java # src/main/java/tutorlink/list/AttendanceList.java # src/main/java/tutorlink/list/CourseList.java # src/main/java/tutorlink/list/StudentList.java # src/main/java/tutorlink/listpackage/AssignmentList.java # src/main/java/tutorlink/listpackage/AttendanceList.java # src/main/java/tutorlink/listpackage/CourseList.java # src/main/java/tutorlink/parser/Parser.java # src/main/java/tutorlink/student/Student.java # src/test/java/TutorLink/list/AssignmentListTest.java # src/test/java/TutorLink/list/AttendanceListTest.java # src/test/java/TutorLink/list/CourseListTest.java # src/test/java/listpackage/AssignmentListTest.java # src/test/java/listpackage/AttendanceListTest.java # src/test/java/listpackage/CourseListTest.java # src/test/java/tutorlink/list/AssignmentListTest.java # src/test/java/tutorlink/list/AttendanceListTest.java # src/test/java/tutorlink/list/CourseListTest.java # src/test/java/tutorlink/list/StudentListTest.java --- .../AddAssignmentCommand.java | 7 +++++- .../assignmentcommand/AssignmentCommand.java | 2 +- .../AddAssignmentCommandTest.java | 24 +++++++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 src/test/java/TutorLink/command/assignmentcommand/AddAssignmentCommandTest.java diff --git a/src/main/java/tutorlink/commandpackage/assignmentcommand/AddAssignmentCommand.java b/src/main/java/tutorlink/commandpackage/assignmentcommand/AddAssignmentCommand.java index 34bbe3bf1c..11b0dfa367 100644 --- a/src/main/java/tutorlink/commandpackage/assignmentcommand/AddAssignmentCommand.java +++ b/src/main/java/tutorlink/commandpackage/assignmentcommand/AddAssignmentCommand.java @@ -1,6 +1,7 @@ package tutorlink.commandpackage.assignmentcommand; import tutorlink.assignmentpackage.Assignment; +import tutorlink.listpackage.AssignmentList; import tutorlink.listpackage.ItemList; public class AddAssignmentCommand extends AssignmentCommand { @@ -9,7 +10,11 @@ public AddAssignmentCommand(Assignment assignment) { } public void execute(ItemList list) { - + if (list instanceof AssignmentList) { + ((AssignmentList) list).addAssignment(assignment); + } else { + throw new IllegalArgumentException("Invalid list type. Expected StudentList."); + } } @Override diff --git a/src/main/java/tutorlink/commandpackage/assignmentcommand/AssignmentCommand.java b/src/main/java/tutorlink/commandpackage/assignmentcommand/AssignmentCommand.java index 6266dd7ee5..b0c1db91fc 100644 --- a/src/main/java/tutorlink/commandpackage/assignmentcommand/AssignmentCommand.java +++ b/src/main/java/tutorlink/commandpackage/assignmentcommand/AssignmentCommand.java @@ -4,7 +4,7 @@ import tutorlink.assignmentpackage.Assignment; public abstract class AssignmentCommand extends Command { - private Assignment assignment; + protected Assignment assignment; public AssignmentCommand(Assignment assignment) { this.assignment = assignment; diff --git a/src/test/java/TutorLink/command/assignmentcommand/AddAssignmentCommandTest.java b/src/test/java/TutorLink/command/assignmentcommand/AddAssignmentCommandTest.java new file mode 100644 index 0000000000..91f72fd45d --- /dev/null +++ b/src/test/java/TutorLink/command/assignmentcommand/AddAssignmentCommandTest.java @@ -0,0 +1,24 @@ +package tutorlink.command.assignmentcommand; + +import org.junit.jupiter.api.Test; +import tutorlink.assignmentpackage.Assignment; +import tutorlink.commandpackage.assignmentcommand.AddAssignmentCommand; +import tutorlink.listpackage.AssignmentList; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; + +class AddAssignmentCommandTest { + @Test + void execute_addOne_expectOne() { + // setup + AssignmentList assignmentList = new AssignmentList(); + Assignment assignment1 = new Assignment("Test_1",100,100,0.2); + AddAssignmentCommand addAssignmentCommand = new AddAssignmentCommand(assignment1); + // execute + addAssignmentCommand.execute(assignmentList); + assertFalse(assignmentList.getAssignmentArrayList().isEmpty()); + assertEquals(1, assignmentList.getAssignmentArrayList().size()); + assertEquals(assignment1, assignmentList.getAssignmentArrayList().get(0)); + } +}