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