File size: 1,951 Bytes
df2b222
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
"""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."""
        # Setup
        user_request = "How do I analyze CSV data with Python?"
        
        # Execute
        result = self.agent.enhance_question(user_request, num_questions=3)
        
        # Verify
        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."""
        # Setup
        user_request = "Create a web scraper"
        
        # Execute  
        result = self.agent.enhance_question(user_request, num_questions=5)
        
        # Verify
        assert len(result["sub_questions"]) == 5
    
    def test_enhance_question_empty_request(self):
        """Test question enhancement with different inputs."""
        # Execute
        result = self.agent.enhance_question("", num_questions=2)
        
        # Verify - should still work with empty string
        assert len(result["sub_questions"]) == 2
        assert all(isinstance(q, str) for q in result["sub_questions"])