Add unit tests for exam scoring service
This commit is contained in:
1 parent
d8ef029bef
commit
ab2129a965
1 file changed
+37
@@ -0,0 +1,37 @@
|
||||
package com.example.questionbank.service.quiz;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
import com.example.questionbank.domain.enumeration.OptionKey;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
class ExamScoringServiceTest {
|
||||
|
||||
private final ExamScoringService service = new ExamScoringService();
|
||||
|
||||
@Test
|
||||
void correctAnswerGetsOnePoint() {
|
||||
var result = service.score(OptionKey.A, OptionKey.A);
|
||||
|
||||
assertTrue(result.correct());
|
||||
assertEquals(1, result.awardedPoints());
|
||||
}
|
||||
|
||||
@Test
|
||||
void wrongAnswerGetsZeroPoints() {
|
||||
var result = service.score(OptionKey.A, OptionKey.D);
|
||||
|
||||
assertFalse(result.correct());
|
||||
assertEquals(0, result.awardedPoints());
|
||||
}
|
||||
|
||||
@Test
|
||||
void unansweredQuestionGetsZeroPoints() {
|
||||
var result = service.score(OptionKey.A, null);
|
||||
|
||||
assertFalse(result.correct());
|
||||
assertEquals(0, result.awardedPoints());
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user