Spaces:
Sleeping
Sleeping
| import numpy as np | |
| import pytest | |
| from types import SimpleNamespace | |
| from cognitive_mapping_probe.orchestrator_seismograph import run_seismic_analysis | |
| def test_seismic_analysis_orchestrator(mocker, mock_llm): | |
| """ | |
| Testet den `run_seismic_analysis` Orchestrator. | |
| Wir mocken die darunterliegende `run_silent_cogitation_seismic`, um das Verhalten | |
| des Orchestrators isoliert zu prüfen. | |
| ASSERT: Berechnet korrekte Statistiken und gibt die erwartete Datenstruktur zurück. | |
| """ | |
| # Definiere das erwartete Verhalten der gemockten Funktion | |
| mock_deltas = [1.0, 2.0, 3.0, 4.0, 5.0] | |
| mocker.patch('cognitive_mapping_probe.orchestrator_seismograph.run_silent_cogitation_seismic', return_value=mock_deltas) | |
| # Mocke den Gradio Progress-Callback | |
| mock_progress = mocker.MagicMock() | |
| # Führe die zu testende Funktion aus | |
| results = run_seismic_analysis( | |
| model_id="mock_model", | |
| prompt_type="test_prompt", | |
| seed=42, | |
| num_steps=5, | |
| progress_callback=mock_progress | |
| ) | |
| # ASSERT: Die Ergebnisse haben die korrekte Struktur und den korrekten Inhalt | |
| assert "verdict" in results | |
| assert "stats" in results | |
| assert "state_deltas" in results | |
| stats = results["stats"] | |
| assert stats["mean_delta"] == pytest.approx(np.mean(mock_deltas)) | |
| assert stats["std_delta"] == pytest.approx(np.std(mock_deltas)) | |
| assert stats["max_delta"] == pytest.approx(max(mock_deltas)) | |
| assert results["state_deltas"] == mock_deltas | |
| # ASSERT: Der Progress-Callback wurde aufgerufen | |
| assert mock_progress.call_count > 0 | |