File size: 1,651 Bytes
8489475 c0f4adf a345062 c0f4adf 5ab2ded c0f4adf 21e8595 8489475 c0f4adf 8489475 c0f4adf 21e8595 c0f4adf d407fda c0f4adf 7e05ec4 c0f4adf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
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
|