neuralcad / tests /test_backend_factory.py
CallMeDaniel's picture
feat: add BackendFactory registry for centralized backend creation
e787a71
"""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")