| """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"]) |