Skip to content

Commit a5ebb6c

Browse files
committed
[java] [student_grades] Replace Error Code with Exception
1 parent 431ca8f commit a5ebb6c

File tree

4 files changed

+19
-4
lines changed

4 files changed

+19
-4
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package tv.codely.student_grades;
2+
3+
public final class GradesWeightBelowMinException extends IllegalArgumentException{
4+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package tv.codely.student_grades;
2+
3+
public final class GradesWeightOverMaxException extends IllegalArgumentException{
4+
}

examples/java/java-student_grades-03_if_guard_clause/src/main/java/tv/codely/student_grades/StudentGradeCalculator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ public float calculateGrades(final List<Pair<Integer, Float>> examsGrades, final
4141
int gradesWeightSum = gradesWeightSum(examsGrades);
4242

4343
if (gradesWeightSum > 100) {
44-
return -1f;
44+
throw new GradesWeightOverMaxException();
4545
} else if (gradesWeightSum < 100) {
46-
return -2f;
46+
throw new GradesWeightBelowMinException();
4747
}
4848

4949
float gradesSum = gradesSum(examsGrades);

examples/java/java-student_grades-03_if_guard_clause/src/test/java/tv/codely/student_grades/StudentGradeCalculatorShould.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import java.util.List;
77

88
import static org.junit.jupiter.api.Assertions.assertEquals;
9+
import static org.junit.jupiter.api.Assertions.assertThrows;
910

1011
public class StudentGradeCalculatorShould {
1112
@Test
@@ -127,7 +128,10 @@ void validate_all_exam_grades_weight_below_100() {
127128
);
128129
final boolean hasReachedMinimumClasses = true;
129130

130-
assertEquals(-2, studentGradeCalculator.calculateGrades(examsGrades, hasReachedMinimumClasses));
131+
assertThrows(
132+
GradesWeightBelowMinException.class,
133+
() -> studentGradeCalculator.calculateGrades(examsGrades, hasReachedMinimumClasses)
134+
);
131135
}
132136

133137
@Test
@@ -140,7 +144,10 @@ void validate_all_exam_grades_weight_over_100() {
140144
);
141145
final boolean hasReachedMinimumClasses = true;
142146

143-
assertEquals(-1, studentGradeCalculator.calculateGrades(examsGrades, hasReachedMinimumClasses));
147+
assertThrows(
148+
GradesWeightOverMaxException.class,
149+
() -> studentGradeCalculator.calculateGrades(examsGrades, hasReachedMinimumClasses)
150+
);
144151
}
145152

146153
// hasToRaiseOnePoint

0 commit comments

Comments
 (0)