Spaces:
Sleeping
Sleeping
| import pandas as pd | |
| import pytest | |
| # Importiere die zu testende Funktion aus der App-Datei | |
| from app import run_and_display | |
| def test_run_and_display_logic(mocker): | |
| """ | |
| Testet die Datenverarbeitungs- und UI-Formatierungslogik in `app.py`. | |
| Wir mocken die teure `run_seismic_analysis`-Funktion, um uns nur auf die | |
| Logik von `run_and_display` zu konzentrieren. | |
| """ | |
| # 1. Definiere die Schein-Ausgabe, die `run_seismic_analysis` zurückgeben soll | |
| mock_results = { | |
| "verdict": "Mock Verdict", | |
| "stats": { "mean_delta": 0.5, "std_delta": 0.1, "max_delta": 1.0, }, | |
| "state_deltas": [0.4, 0.5, 0.6] | |
| } | |
| mocker.patch('app.run_seismic_analysis', return_value=mock_results) | |
| mock_progress = mocker.MagicMock() | |
| # 2. Rufe die zu testende Funktion mit den KORRIGIERTEN Argumenten auf | |
| verdict_md, plot_df, raw_json = run_and_display( | |
| model_id="mock_model", | |
| prompt_type="mock_prompt", | |
| seed=42, | |
| num_steps=3, | |
| concept_to_inject="", # Fehlendes Argument hinzugefügt | |
| injection_strength=0.0, # Fehlendes Argument hinzugefügt | |
| progress=mock_progress | |
| ) | |
| # 3. Validiere die Ausgaben | |
| assert "Mock Verdict" in verdict_md | |
| assert "0.5000" in verdict_md | |
| assert isinstance(plot_df, pd.DataFrame) | |
| assert len(plot_df) == 3 | |
| assert raw_json == mock_results | |