Spaces:
Sleeping
Sleeping
File size: 2,522 Bytes
a345062 21e8595 a345062 21e8595 a345062 21e8595 a345062 21e8595 a345062 21e8595 a345062 21e8595 a345062 21e8595 a345062 21e8595 a345062 21e8595 |
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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
import numpy as np
import pytest
import torch
from types import SimpleNamespace
from cognitive_mapping_probe.orchestrator_seismograph import run_seismic_analysis
def test_seismic_analysis_orchestrator_no_injection(mocker, mock_llm):
"""
Testet den Orchestrator im Baseline-Modus (ohne Injektion).
"""
mock_deltas = [1.0, 2.0, 3.0]
mock_run_seismic = mocker.patch('cognitive_mapping_probe.orchestrator_seismograph.run_silent_cogitation_seismic', return_value=mock_deltas)
mock_progress = mocker.MagicMock()
results = run_seismic_analysis(
model_id="mock_model",
prompt_type="test_prompt",
seed=42,
num_steps=3,
concept_to_inject="", # Kein Konzept
injection_strength=0.0,
progress_callback=mock_progress
)
# ASSERT: `run_silent_cogitation_seismic` wurde mit `injection_vector=None` aufgerufen
mock_run_seismic.assert_called_once()
call_args, call_kwargs = mock_run_seismic.call_args
assert call_kwargs['injection_vector'] is None
# ASSERT: Die Statistiken sind korrekt
assert results["stats"]["mean_delta"] == pytest.approx(2.0)
def test_seismic_analysis_orchestrator_with_injection(mocker, mock_llm):
"""
Testet den Orchestrator mit aktivierter Konzeptinjektion.
"""
mock_deltas = [5.0, 6.0, 7.0]
mock_run_seismic = mocker.patch('cognitive_mapping_probe.orchestrator_seismograph.run_silent_cogitation_seismic', return_value=mock_deltas)
# Der `mock_llm` Fixture patcht bereits `get_concept_vector`
mock_get_concept_vector = mocker.patch('cognitive_mapping_probe.orchestrator_seismograph.get_concept_vector')
mock_progress = mocker.MagicMock()
results = run_seismic_analysis(
model_id="mock_model",
prompt_type="test_prompt",
seed=42,
num_steps=3,
concept_to_inject="test_concept", # Konzept wird übergeben
injection_strength=1.5,
progress_callback=mock_progress
)
# ASSERT: `get_concept_vector` wurde aufgerufen
mock_get_concept_vector.assert_called_once_with(mocker.ANY, "test_concept")
# ASSERT: `run_silent_cogitation_seismic` wurde mit einem Vektor und Stärke aufgerufen
mock_run_seismic.assert_called_once()
call_args, call_kwargs = mock_run_seismic.call_args
assert call_kwargs['injection_vector'] is not None
assert call_kwargs['injection_strength'] == 1.5
# ASSERT: Die Statistiken sind korrekt
assert results["stats"]["mean_delta"] == pytest.approx(6.0)
|