"""Tests for core/backend_factory.py.""" import pytest from core.backend_factory import BackendFactory from core.types import LLMBackend class TestBackendFactory: def test_create_mock(self): backend = BackendFactory.create("mock") # MockBackend inherits from old LLMBackend, not new ABC yet # Just check it has generate method assert hasattr(backend, "generate") def test_create_unknown_raises(self): with pytest.raises(ValueError, match="Unknown backend"): BackendFactory.create("nonexistent") def test_registry_has_mock(self): assert "mock" in BackendFactory._registry def test_mock_can_generate(self): backend = BackendFactory.create("mock") result = backend.generate([{"role": "user", "content": "a 50mm cube"}]) assert isinstance(result, str) assert "result" in result def test_create_safe_fallback(self): backend = BackendFactory.create_safe("nonexistent_backend_xyz") assert hasattr(backend, "generate")