Files
meeting-lab/tests/test_classification_invariants.py
T

37 lines
1.8 KiB
Python

import unittest
from src.meeting_lab.extraction.extract_chunks import build_prompt
class ClassificationInvariantPromptTests(unittest.TestCase):
def setUp(self) -> None:
self.prompt = build_prompt("regression.txt", "Meeting transcript.")
def test_decision_requires_settled_outcome_and_prefers_precision(self) -> None:
self.assertIn("settled, selected, approved", self.prompt)
self.assertIn("possibility, option", self.prompt)
self.assertIn("Prefer\nomission over a false Decision or Action Item", self.prompt)
def test_action_requires_established_future_work(self) -> None:
self.assertIn("concrete future action that the meeting establishes as", self.prompt)
self.assertIn("suggestion, hypothetical action, possible next step", self.prompt.lower())
self.assertIn("Do not create an Action Item merely because", self.prompt)
self.assertIn("statement contains an", self.prompt)
self.assertIn("imperative-like verb", self.prompt)
def test_action_existence_is_separate_from_responsibility(self) -> None:
self.assertIn("First decide whether the action itself exists", self.prompt)
self.assertIn("An Action Item may exist without a named responsible", self.prompt)
self.assertIn("responsible person", self.prompt)
self.assertIn("explicitly assigned, volunteering", self.prompt)
self.assertIn("accepting/confirming the task", self.prompt)
def test_open_question_requires_unresolved_need(self) -> None:
self.assertIn("concrete unresolved information, decision, or", self.prompt)
self.assertIn("Uncertainty, doubt, ignorance, difficulty", self.prompt)
self.assertIn("answered in the available context is not open", self.prompt)
if __name__ == "__main__":
unittest.main()