diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md
index cda43ee044e..edd0ebdfc27 100644
--- a/docs/DeveloperGuide.md
+++ b/docs/DeveloperGuide.md
@@ -1703,23 +1703,23 @@ testers are expected to do more *exploratory* testing.
1. Editing an assignment grade with _valid parameters_
1. Prerequisites:
1. There is at least 1 student being displayed in the students list.
- 2. Test case: `editgrade 1 as/Functional Expressionism g/500`
+ 2. Test case: `editgrade 1 as/Functional Expressionism g/500`
Expected: Grade of the specified assignment has been edited to 500/500.
2. Editing an assignment grade with _invalid index_
- 1. Test case: `editgrade 0 as/Functional Expressionism g/500`
+ 1. Test case: `editgrade 0 as/Functional Expressionism g/500`
Expected: F.A.K.E.J.A.R.V.I.S. displays an error. Assignment grade is not edited.
Reason: The person index provided does not exist.
3. Editing an assignment grade with _invalid assignment name_
1. Prerequisites:
1. There is at least 1 student being displayed in the students list.
- 2. Test case: `editgrade 1 as/Finding Boyd g/500`
+ 2. Test case: `editgrade 1 as/Finding Boyd g/500`
Expected: F.A.K.E.J.A.R.V.I.S. displays an error. Assignment grade is not edited.
Reason: The assignment name does not exist.
4. Editing an assignment grade with _invalid grade_
1. Prerequisites:
1. There is at least 1 student being displayed in the students list.
- 2. Test case: `editgrade 1 as/Functional Expressionism g/700`
+ 2. Test case: `editgrade 1 as/Functional Expressionism g/700`
Expected: F.A.K.E.J.A.R.V.I.S. displays an error. Assignment grade is not edited.
Reason: The grade exceeds the maximum grade by more than 75.
@@ -1730,17 +1730,17 @@ testers are expected to do more *exploratory* testing.
1. Prerequisites:
1. There is at least 1 student being displayed in the students list.
2. The assignment has already been graded.
- 2. Test case: `deletegrade 1 as/Functional Expressionism`
+ 2. Test case: `deletegrade 1 as/Functional Expressionism`
Expected: Grade of the specified assignment has been deleted.
2. Deleting an assignment grade with _invalid index_
- 1. Test case: `deletegrade 0 as/Functional Expressionism`
+ 1. Test case: `deletegrade 0 as/Functional Expressionism`
Expected: F.A.K.E.J.A.R.V.I.S. displays an error. Assignment grade is not deleted.
Reason: The person index provided does not exist.
3. Deleting an assignment grade with _invalid assignment name_
1. Prerequisites:
1. There is at least 1 student being displayed in the students list.
- 2. Test case: `deletegrade 1 as/Finding Boyd`
+ 2. Test case: `deletegrade 1 as/Finding Boyd`
Expected: F.A.K.E.J.A.R.V.I.S. displays an error. Assignment grade is not deleted.
Reason: The assignment name does not exist.
@@ -1750,23 +1750,23 @@ testers are expected to do more *exploratory* testing.
1. Editing an assignment comment with _valid parameters_
1. Prerequisites:
1. There is at least 1 student being displayed in the students list.
- 2. Test case: `editcomment 1 as/Functional Expressionism c/Good job!`
+ 2. Test case: `editcomment 1 as/Functional Expressionism c/Good job!`
Expected: Comment of the specified assignment has been edited to "Good job!".
2. Editing an assignment comment with _invalid index_
- 1. Test case: `editcomment 0 as/Functional Expressionism c/Good job!`
+ 1. Test case: `editcomment 0 as/Functional Expressionism c/Good job!`
Expected: F.A.K.E.J.A.R.V.I.S. displays an error. Assignment comment is not edited.
Reason: The person index provided does not exist.
3. Editing an assignment comment with _invalid assignment name_
1. Prerequisites:
1. There is at least 1 student being displayed in the students list.
- 2. Test case: `editcomment 1 as/Finding Boyd c/Good job!`
+ 2. Test case: `editcomment 1 as/Finding Boyd c/Good job!`
Expected: F.A.K.E.J.A.R.V.I.S. displays an error. Assignment comment is not edited.
Reason: The assignment name does not exist.
4. Editing an assignment comment with _invalid comment_
1. Prerequisites:
1. There is at least 1 student being displayed in the students list.
- 2. Test case: `editcomment 1 as/Functional Expressionism c/`
+ 2. Test case: `editcomment 1 as/Functional Expressionism c/`
Expected: F.A.K.E.J.A.R.V.I.S. displays an error. Assignment grade is not edited.
Reason: The comment cannot be empty.
@@ -1777,17 +1777,17 @@ testers are expected to do more *exploratory* testing.
1. Prerequisites:
1. There is at least 1 student being displayed in the students list.
2. The assignment has already been commented on.
- 2. Test case: `deletecomment 1 as/Functional Expressionism`
+ 2. Test case: `deletecomment 1 as/Functional Expressionism`
Expected: Comment of the specified assignment has been deleted.
2. Deleting an assignment comment with _invalid index_
- 1. Test case: `deletecomment 0 as/Functional Expressionism`
+ 1. Test case: `deletecomment 0 as/Functional Expressionism`
Expected: F.A.K.E.J.A.R.V.I.S. displays an error. Assignment comment is not deleted.
Reason: The person index provided does not exist.
3. Deleting an assignment comment with _invalid assignment name_
1. Prerequisites:
1. There is at least 1 student being displayed in the students list.
- 2. Test case: `deletecomment 1 as/Finding Boyd`
+ 2. Test case: `deletecomment 1 as/Finding Boyd`
Expected: F.A.K.E.J.A.R.V.I.S. displays an error. Assignment comment is not deleted.
Reason: The assignment name does not exist.
### Graded Test
@@ -1797,61 +1797,61 @@ testers are expected to do more *exploratory* testing.
1. Editing the score(s) of a graded test with _valid parameters_
1. Prerequisites:
1. There is at least 1 student being displayed in the students list.
- 2. Test case: editgradedtest 1 ra1/90 ra2/85 mt/95 f/80 pe/75 ra1/88
+ 2. Test case: `editgradedtest 1 ra1/90 ra2/85 mt/95 f/80 pe/75 ra1/88`
Expected: F.A.K.E.J.A.R.V.I.S. successfully edits the scores for the specified person's graded test.
2. Editing the score(s) of a graded test with an _empty list_
1. Prerequisites:
1. The list of persons is empty.
- 2. Test case: editgradedtest 1 ra1/90 ra2/85 mt/95 f/80 pe/75 ra1/88
+ 2. Test case: `editgradedtest 1 ra1/90 ra2/85 mt/95 f/80 pe/75 ra1/88`
F.A.K.E.J.A.R.V.I.S. displays an error. Graded Test scores are not edited
Reason: The student list is empty.
3. Editing the score(s) of a graded test with an _invalid index_
1. Prerequisites:
1. There is at least 1 student being displayed in the students list.
- 2. Test case: `editgradedtest 0 ra1/90 ra2/85 mt/95 f/80 pe/75 ra1/88`
+ 2. Test case: `editgradedtest 0 ra1/90 ra2/85 mt/95 f/80 pe/75 ra1/88`
Expected: F.A.K.E.J.A.R.V.I.S. displays an error. Graded Test scores are not edited.
Reason: The given index is invalid.
4. Editing the score(s) of a graded test with _empty parameter(s)_
1. Prerequisites:
1. There is at least 1 student being displayed in the students list.
- 2. Test case: `editgradedtest 1`
+ 2. Test case: `editgradedtest 1`
Expected: F.A.K.E.J.A.R.V.I.S. displays an error. Graded Test scores are not edited.
Reason: The parameter(s) given is empty.
5. Editing the score(s) of a graded test with _invalid parameter(s)_
1. Prerequisites:
1. There is at least 1 student being displayed in the students list.
- 2. Test case: `editgradedtest 1 ra3/90 pee/100`
+ 2. Test case: `editgradedtest 1 ra3/90 pee/100`
Expected: F.A.K.E.J.A.R.V.I.S. displays an error. Graded Test scores are not edited.
Reason: The parameter(s) given is/are invalid.
6. Editing the score(s) of a graded test with _extra parameter(s)_
1. Prerequisites:
1. There is at least 1 student being displayed in the students list.
- 2. Test case: `editgradedtest 1 ra1/90 ra2/85 mt/95 f/80 pe/75 ra1/88 ra2/75`
+ 2. Test case: `editgradedtest 1 ra1/90 ra2/85 mt/95 f/80 pe/75 ra1/88 ra2/75`
Expected: F.A.K.E.J.A.R.V.I.S. displays an error. Graded Test scores are not edited.
Reason: Extra parameter(s) is/are given.
7. Editing the score(s) of a graded test with _fewer parameter(s)_
1. Prerequisites:
1. There is at least 1 student being displayed in the students list.
- 2. Test case: `editgradedtest 1 ra1/90 ra2/85 mt/95`
+ 2. Test case: `editgradedtest 1 ra1/90 ra2/85 mt/95`
Expected: F.A.K.E.J.A.R.V.I.S. displays a success message. Graded Test scores are edited. Reason: Graded Test fields are optional.
8. Editing the score(s) of a graded test with _parameters in different order_
1. Prerequisites:
1. There is at least 1 student being displayed in the students list.
- 2. Test case: `editgradedtest 1 ra1/90 pe/75 f/80 ra2/85 mt/95`
+ 2. Test case: `editgradedtest 1 ra1/90 pe/75 f/80 ra2/85 mt/95`
Expected: F.A.K.E.J.A.R.V.I.S. displays a success message. Graded Test scores are edited. Reason: The order of Graded Test fields does not matter.
9. Editing the score(s) of a graded test with _an invalid score_
1. Prerequisites:
1. There is at least 1 student being displayed in the students list.
- 2. Test case: `editgradedtest 1 ra1/-100 ra2/85 mt/105 f/80 pe/75 ra1/88`
+ 2. Test case: `editgradedtest 1 ra1/-100 ra2/85 mt/105 f/80 pe/75 ra1/88`
Expected: F.A.K.E.J.A.R.V.I.S. displays an error. Graded Test scores are not edited.
Reason: The given score is invalid.
10. Editing the score(s) of a graded test with _multiple invalid scores_
1. Prerequisites:
1. There is at least 1 student being displayed in the students list.
- 2. Test case: `editgradedtest 1 ra1/-90 ra2/-85 mt/-100 f/invalid pe/-75 ra1/-88`
+ 2. Test case: `editgradedtest 1 ra1/-90 ra2/-85 mt/-100 f/invalid pe/-75 ra1/-88`
Expected: F.A.K.E.J.A.R.V.I.S. displays an error. Graded Test scores are not edited.
Reason: The given scores are invalid.
### Consultation
diff --git a/docs/diagrams/GradedTestClassDiagram.puml b/docs/diagrams/GradedTestClassDiagram.puml
index 7e41eb2f3aa..dcfbb6ac670 100644
--- a/docs/diagrams/GradedTestClassDiagram.puml
+++ b/docs/diagrams/GradedTestClassDiagram.puml
@@ -23,6 +23,8 @@ class GradedTest {
+ getGradedTests(): String
+ isValidGradeTestName(test: String): boolean
+ isSameGradedTest(otherGradedTest: GradedTest): boolean
+ + parseGradedTest(gradedTest: String): String[]
+ + validateField(fieldName: String, fieldValue: String): String
}
class ReadingAssessment1 {
diff --git a/docs/images/GradedTest.png b/docs/images/GradedTest.png
index 2e01ac34b16..5e5e592efec 100644
Binary files a/docs/images/GradedTest.png and b/docs/images/GradedTest.png differ
diff --git a/src/main/java/seedu/address/model/gradedtest/Finals.java b/src/main/java/seedu/address/model/gradedtest/Finals.java
index 0ac7edc7aa9..f744d1b81b2 100644
--- a/src/main/java/seedu/address/model/gradedtest/Finals.java
+++ b/src/main/java/seedu/address/model/gradedtest/Finals.java
@@ -17,7 +17,7 @@ public class Finals {
/**
* Constructs a {@code Finals}.
*
- * @param finalResults A valid phone number.
+ * @param finalResults A valid finals result.
*/
public Finals(String finalResults) {
requireNonNull(finalResults);
diff --git a/src/main/java/seedu/address/model/gradedtest/GradedTest.java b/src/main/java/seedu/address/model/gradedtest/GradedTest.java
index ac6ea30d23f..8120f5086d4 100644
--- a/src/main/java/seedu/address/model/gradedtest/GradedTest.java
+++ b/src/main/java/seedu/address/model/gradedtest/GradedTest.java
@@ -182,7 +182,7 @@ public static boolean isValidGradeTestNameDefault(String test) {
}
/**
- * Returns true if both tasks have the same name and description.
+ * Returns true if both gradedtest have the same name and description.
*/
public boolean isSameGradedTest(GradedTest otherGradedTest) {
if (otherGradedTest == this) {
diff --git a/src/main/java/seedu/address/model/gradedtest/MidTerms.java b/src/main/java/seedu/address/model/gradedtest/MidTerms.java
index 9efd11fe822..776c82cd5a7 100644
--- a/src/main/java/seedu/address/model/gradedtest/MidTerms.java
+++ b/src/main/java/seedu/address/model/gradedtest/MidTerms.java
@@ -16,9 +16,9 @@ public class MidTerms {
public final String value;
/**
- * Constructs a {@code Finals}.
+ * Constructs a {@code MidTerms}.
*
- * @param midTermResults A valid phone number.
+ * @param midTermResults A valid midterms result.
*/
public MidTerms(String midTermResults) {
requireNonNull(midTermResults);
@@ -27,7 +27,7 @@ public MidTerms(String midTermResults) {
}
/**
- * Returns true if a given string is a valid PE result.
+ * Returns true if a given string is a valid Midterms result.
*/
public static boolean isValidMidTermResult(String test) {
return test.matches(VALIDATION_REGEX);
diff --git a/src/main/java/seedu/address/model/gradedtest/PracticalExam.java b/src/main/java/seedu/address/model/gradedtest/PracticalExam.java
index 6e328d2bec7..4648658425c 100644
--- a/src/main/java/seedu/address/model/gradedtest/PracticalExam.java
+++ b/src/main/java/seedu/address/model/gradedtest/PracticalExam.java
@@ -16,9 +16,9 @@ public class PracticalExam {
public final String value;
/**
- * Constructs a {@code Finals}.
+ * Constructs a {@code PracticalExam}.
*
- * @param peResults A valid phone number.
+ * @param peResults A valid practical exam result.
*/
public PracticalExam(String peResults) {
requireNonNull(peResults);
diff --git a/src/main/java/seedu/address/model/gradedtest/ReadingAssessment1.java b/src/main/java/seedu/address/model/gradedtest/ReadingAssessment1.java
index dac55348212..5cb74ee844a 100644
--- a/src/main/java/seedu/address/model/gradedtest/ReadingAssessment1.java
+++ b/src/main/java/seedu/address/model/gradedtest/ReadingAssessment1.java
@@ -16,9 +16,9 @@ public class ReadingAssessment1 {
public final String value;
/**
- * Constructs a {@code Finals}.
+ * Constructs a {@code ReadingAssessment1}.
*
- * @param raResult A valid raResult number.
+ * @param raResult A valid ra1 Result.
*/
public ReadingAssessment1(String raResult) {
requireNonNull(raResult);
@@ -27,7 +27,7 @@ public ReadingAssessment1(String raResult) {
}
/**
- * Returns true if a given string is a valid RA result.
+ * Returns true if a given string is a valid RA1 result.
*/
public static boolean isValidRaResult(String test) {
return test.matches(VALIDATION_REGEX);
diff --git a/src/main/java/seedu/address/model/gradedtest/ReadingAssessment2.java b/src/main/java/seedu/address/model/gradedtest/ReadingAssessment2.java
index 2f5dcbdaceb..40ec1f8cbdc 100644
--- a/src/main/java/seedu/address/model/gradedtest/ReadingAssessment2.java
+++ b/src/main/java/seedu/address/model/gradedtest/ReadingAssessment2.java
@@ -16,9 +16,9 @@ public class ReadingAssessment2 {
public final String value;
/**
- * Constructs a {@code Finals}.
+ * Constructs a {@code ReadingAssessment2}.
*
- * @param raResult A valid raResult number.
+ * @param raResult A valid ra2 Result.
*/
public ReadingAssessment2(String raResult) {
requireNonNull(raResult);
@@ -27,7 +27,7 @@ public ReadingAssessment2(String raResult) {
}
/**
- * Returns true if a given string is a valid RA result.
+ * Returns true if a given string is a valid RA2 result.
*/
public static boolean isValidRaResult(String test) {
return test.matches(VALIDATION_REGEX);
diff --git a/src/main/java/seedu/address/model/session/SessionNumberContainsKeywordsPredicate.java b/src/main/java/seedu/address/model/session/SessionNumberContainsKeywordsPredicate.java
index 96d44bdac71..ec85c12d6d5 100644
--- a/src/main/java/seedu/address/model/session/SessionNumberContainsKeywordsPredicate.java
+++ b/src/main/java/seedu/address/model/session/SessionNumberContainsKeywordsPredicate.java
@@ -22,6 +22,14 @@ public boolean test(Session session) {
session.getSessionNumber().sessionNumber, keyword));
}
+ /**
+ * Checks if the specified string contains a substring, performing a case-insensitive match.
+ *
+ * @param str The main string to check.
+ * @param substring The substring to search for in the main string.
+ * @return {@code true} if the main string contains the substring (ignoring case), {@code false} otherwise.
+ * @throws NullPointerException if either {@code str} or {@code substring} is {@code null}.
+ */
private boolean containsSubstringIgnoreCase(String str, String substring) {
// Convert both the main string and substring to lowercase for a case-insensitive match
String lowerCaseStr = str.toLowerCase();
@@ -30,6 +38,7 @@ private boolean containsSubstringIgnoreCase(String str, String substring) {
// Check if the main string contains the substring
return lowerCaseStr.contains(lowerCaseSubstring);
}
+
@Override
public boolean equals(Object other) {
if (other == this) {
diff --git a/src/test/java/seedu/address/testutil/GradedTestBuilder.java b/src/test/java/seedu/address/testutil/GradedTestBuilder.java
index 8e05006c508..3ff08d45a27 100644
--- a/src/test/java/seedu/address/testutil/GradedTestBuilder.java
+++ b/src/test/java/seedu/address/testutil/GradedTestBuilder.java
@@ -83,7 +83,7 @@ public GradedTestBuilder withFinals(String finals) {
}
/**
- * Sets the {@code PracticalExam} of the {@code Task} that we are building.
+ * Sets the {@code PracticalExam} of the {@code GradedTest} that we are building.
*/
public GradedTestBuilder withPe(String pE) {
this.pE = new PracticalExam(pE);