| import pandas as pd | |
| from cognitive_mapping_probe.auto_experiment import run_auto_suite, get_curated_experiments | |
| from cognitive_mapping_probe.orchestrator_seismograph import run_seismic_analysis | |
| def test_run_seismic_analysis_with_real_model(model_id): | |
| """Führt einen einzelnen Orchestrator-Lauf mit einem echten Modell durch.""" | |
| results = run_seismic_analysis( | |
| model_id=model_id, | |
| prompt_type="resonance_prompt", | |
| seed=42, | |
| num_steps=3, | |
| concept_to_inject="", | |
| injection_strength=0.0, | |
| progress_callback=lambda *args, **kwargs: None | |
| ) | |
| assert "verdict" in results | |
| assert "stats" in results | |
| assert len(results["state_deltas"]) == 3 | |
| def test_get_curated_experiments_structure(): | |
| """Überprüft die Struktur der Experiment-Definitionen.""" | |
| experiments = get_curated_experiments() | |
| assert isinstance(experiments, dict) | |
| assert "Causal Verification & Crisis Dynamics" in experiments | |
| def test_run_auto_suite_special_protocol(mocker, model_id): | |
| """Testet den speziellen Logikpfad, mockt aber die langwierigen Aufrufe.""" | |
| mocker.patch('cognitive_mapping_probe.auto_experiment.run_seismic_analysis', return_value={"stats": {}, "state_deltas": [1.0]}) | |
| summary_df, plot_df, all_results = run_auto_suite( | |
| model_id=model_id, num_steps=2, seed=42, | |
| experiment_name="Sequential Intervention (Self-Analysis -> Deletion)", | |
| progress_callback=lambda *args, **kwargs: None | |
| ) | |
| assert isinstance(summary_df, pd.DataFrame) | |
| assert len(summary_df) == 2 | |
| assert "1: Self-Analysis + Calmness Injection" in summary_df["Experiment"].values | |