Add unit tests for exam scoring service

This commit is contained in:
jieun committed 2026-10-20 20:41:04 +09:00
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());
}
}