This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import os
|
||||
import unittest
|
||||
|
||||
from src.agent import RAGAgent
|
||||
|
||||
class TestRAGAgent(unittest.TestCase):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
# Ensure data directory exists with at least one document
|
||||
data_dir = "data"
|
||||
os.makedirs(data_dir, exist_ok=True)
|
||||
sample_path = os.path.join(data_dir, "sample.txt")
|
||||
with open(sample_path, "w", encoding="utf-8") as f:
|
||||
f.write("Python is a versatile programming language used for web development, data science, and automation.")
|
||||
cls.agent = RAGAgent(config_path="src/config.yaml")
|
||||
|
||||
def test_retrieve_non_empty(self):
|
||||
passages = self.agent.kb.retrieve("Python programming", top_k=2)
|
||||
self.assertTrue(len(passages) > 0)
|
||||
self.assertIn("Python is a versatile programming language", passages[0][0])
|
||||
|
||||
def test_generate_response(self):
|
||||
answer = self.agent.generate_response("What is Python?")
|
||||
self.assertIsInstance(answer, str)
|
||||
self.assertTrue(len(answer) > 0)
|
||||
|
||||
def test_empty_query(self):
|
||||
answer = self.agent.generate_response("")
|
||||
self.assertIsInstance(answer, str)
|
||||
self.assertIn("No relevant information found", answer)
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user