|
"""Unit tests for QuestionEnhancerAgent."""
|
|
|
|
import pytest
|
|
from unittest.mock import Mock, patch, MagicMock
|
|
import json
|
|
|
|
class MockQuestionEnhancerAgent:
|
|
"""Mock implementation for testing."""
|
|
|
|
def enhance_question(self, user_request: str, num_questions: int = 3):
|
|
"""Mock enhance_question method."""
|
|
return {
|
|
"sub_questions": [
|
|
f"Question {i+1} about {user_request[:20]}?" for i in range(num_questions)
|
|
]
|
|
}
|
|
|
|
class TestQuestionEnhancerAgent:
|
|
"""Test suite for QuestionEnhancerAgent."""
|
|
|
|
def setup_method(self):
|
|
"""Set up test fixtures."""
|
|
self.agent = MockQuestionEnhancerAgent()
|
|
|
|
def test_enhance_question_success(self):
|
|
"""Test successful question enhancement."""
|
|
|
|
user_request = "How do I analyze CSV data with Python?"
|
|
|
|
|
|
result = self.agent.enhance_question(user_request, num_questions=3)
|
|
|
|
|
|
assert "sub_questions" in result
|
|
assert len(result["sub_questions"]) == 3
|
|
assert all("Question" in q for q in result["sub_questions"])
|
|
|
|
def test_enhance_question_custom_num(self):
|
|
"""Test question enhancement with custom number."""
|
|
|
|
user_request = "Create a web scraper"
|
|
|
|
|
|
result = self.agent.enhance_question(user_request, num_questions=5)
|
|
|
|
|
|
assert len(result["sub_questions"]) == 5
|
|
|
|
def test_enhance_question_empty_request(self):
|
|
"""Test question enhancement with different inputs."""
|
|
|
|
result = self.agent.enhance_question("", num_questions=2)
|
|
|
|
|
|
assert len(result["sub_questions"]) == 2
|
|
assert all(isinstance(q, str) for q in result["sub_questions"]) |