23 lines
896 B
Python
23 lines
896 B
Python
from __future__ import annotations
|
|
|
|
import unittest
|
|
|
|
from scripts.run_model_eval import run_check
|
|
|
|
|
|
class ModelEvalCheckTests(unittest.TestCase):
|
|
def test_bullet_count_accepts_numbered_three_point_answer(self) -> None:
|
|
answer = "1. أول نقطة\n2. ثاني نقطة\n3. ثالث نقطة"
|
|
|
|
self.assertTrue(run_check({"type": "bullet_count", "value": 3}, answer))
|
|
self.assertFalse(run_check({"type": "bullet_count", "value": 2}, answer))
|
|
|
|
def test_single_sentence_rejects_multiple_sentences_and_lines(self) -> None:
|
|
self.assertTrue(run_check({"type": "single_sentence"}, "إجابة واحدة."))
|
|
self.assertFalse(run_check({"type": "single_sentence"}, "جملة أولى. جملة ثانية."))
|
|
self.assertFalse(run_check({"type": "single_sentence"}, "سطر أول\nسطر ثان."))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|