"""Mock batch processor for testing."""

from typing import Dict, Any, Optional
from unittest.mock import MagicMock

from ..protocols import BatchProcessorProtocol


def create_mock_batch_processor() -> BatchProcessorProtocol:
    """Create a mock batch processor for testing."""
    mock_processor = MagicMock(spec=BatchProcessorProtocol)
    
    # Mock methods
    mock_processor.add_task.return_value = "task_123"
    mock_processor.start.return_value = {
        "success_count": 5,
        "failure_count": 0,
        "total_count": 5,
        "processing_time": 10.5
    }
    mock_processor.get_progress.return_value = {
        "total_tasks": 5,
        "completed_tasks": 5,
        "failed_tasks": 0,
        "success_rate": 100.0
    }
    
    return mock_processor
