| | """Unit tests for CodeGeneratorAgent - Simplified."""
|
| |
|
| | import pytest
|
| | from unittest.mock import Mock
|
| |
|
| |
|
| | class MockCodeGeneratorAgent:
|
| | """Mock implementation for testing."""
|
| |
|
| | def generate_code(self, request: str, context: str = ""):
|
| | """Mock generate_code method."""
|
| | if not request:
|
| | return {
|
| | "status": "error",
|
| | "code": "",
|
| | "error": "Empty request"
|
| | }
|
| |
|
| |
|
| | if "csv" in request.lower():
|
| | code = "import pandas as pd\ndf = pd.read_csv('data.csv')\nprint(df.head())"
|
| | elif "plot" in request.lower():
|
| | code = "import matplotlib.pyplot as plt\nplt.plot([1,2,3], [1,4,9])\nplt.show()"
|
| | else:
|
| | code = f"# Code for: {request}\nprint('Hello, World!')"
|
| |
|
| | return {
|
| | "status": "success",
|
| | "code": code,
|
| | "context_used": bool(context),
|
| | "dependencies": ["pandas"] if "csv" in request.lower() else []
|
| | }
|
| |
|
| |
|
| | class TestCodeGeneratorAgent:
|
| | """Test suite for CodeGeneratorAgent."""
|
| |
|
| | def setup_method(self):
|
| | """Set up test fixtures."""
|
| | self.agent = MockCodeGeneratorAgent()
|
| |
|
| | def test_generate_code_success(self):
|
| | """Test successful code generation."""
|
| |
|
| | request = "Create a script to read CSV data"
|
| |
|
| |
|
| | result = self.agent.generate_code(request)
|
| |
|
| |
|
| | assert result["status"] == "success"
|
| | assert "pandas" in result["code"]
|
| | assert "read_csv" in result["code"]
|
| | assert "pandas" in result["dependencies"]
|
| |
|
| | def test_generate_code_with_context(self):
|
| | """Test code generation with context."""
|
| |
|
| | request = "Plot some data"
|
| | context = "We have numerical data in arrays"
|
| |
|
| |
|
| | result = self.agent.generate_code(request, context)
|
| |
|
| |
|
| | assert result["status"] == "success"
|
| | assert "matplotlib" in result["code"]
|
| | assert result["context_used"] is True
|
| |
|
| | def test_generate_code_empty_request(self):
|
| | """Test code generation with empty request."""
|
| |
|
| | result = self.agent.generate_code("")
|
| |
|
| |
|
| | assert result["status"] == "error"
|
| | assert "error" in result
|
| |
|
| | def test_generate_code_generic(self):
|
| | """Test generic code generation."""
|
| |
|
| | request = "Write a hello world program"
|
| |
|
| |
|
| | result = self.agent.generate_code(request)
|
| |
|
| |
|
| | assert result["status"] == "success"
|
| | assert "Hello, World!" in result["code"] |