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