test(lotto-signals): floating-point 임계치 보정 + import 정리 + decide_fire 분리
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,4 @@
|
|||||||
# agent-office/tests/test_lotto_signals.py
|
# agent-office/tests/test_lotto_signals.py
|
||||||
import math
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from app.curator import signals
|
from app.curator import signals
|
||||||
@@ -79,7 +78,7 @@ def test_adaptive_baseline_normal_window_full():
|
|||||||
window=[1.0, 1.1, 0.9, 1.0, 1.0, 1.1, 0.9, 1.0],
|
window=[1.0, 1.1, 0.9, 1.0, 1.0, 1.1, 0.9, 1.0],
|
||||||
window_max=8,
|
window_max=8,
|
||||||
)
|
)
|
||||||
z, fire = bl.evaluate(value=1.20, z_normal=1.5, z_urgent=2.5)
|
z, fire = bl.evaluate(value=1.12, z_normal=1.5, z_urgent=2.5)
|
||||||
assert fire == "normal"
|
assert fire == "normal"
|
||||||
assert z is not None and z >= 1.5
|
assert z is not None and z >= 1.5
|
||||||
|
|
||||||
@@ -101,8 +100,7 @@ def test_adaptive_baseline_push_updates_window():
|
|||||||
assert bl.window == [2, 3, 4, 5, 6, 7, 8, 9.0]
|
assert bl.window == [2, 3, 4, 5, 6, 7, 8, 9.0]
|
||||||
|
|
||||||
|
|
||||||
def test_decide_fire_level_combination():
|
def test_decide_fire_level_two_normals_escalate():
|
||||||
"""2개 이상 normal 발화 → urgent."""
|
|
||||||
sigs = [
|
sigs = [
|
||||||
{"metric": "sim", "z": 1.6, "fire": "normal"},
|
{"metric": "sim", "z": 1.6, "fire": "normal"},
|
||||||
{"metric": "drift", "z": 1.7, "fire": "normal"},
|
{"metric": "drift", "z": 1.7, "fire": "normal"},
|
||||||
@@ -110,17 +108,23 @@ def test_decide_fire_level_combination():
|
|||||||
]
|
]
|
||||||
assert signals.decide_overall_fire(sigs) == "urgent"
|
assert signals.decide_overall_fire(sigs) == "urgent"
|
||||||
|
|
||||||
sigs2 = [
|
|
||||||
|
def test_decide_fire_level_single_normal():
|
||||||
|
sigs = [
|
||||||
{"metric": "sim", "z": 1.6, "fire": "normal"},
|
{"metric": "sim", "z": 1.6, "fire": "normal"},
|
||||||
{"metric": "drift", "z": 0.3, "fire": "noop"},
|
{"metric": "drift", "z": 0.3, "fire": "noop"},
|
||||||
]
|
]
|
||||||
assert signals.decide_overall_fire(sigs2) == "normal"
|
assert signals.decide_overall_fire(sigs) == "normal"
|
||||||
|
|
||||||
sigs3 = [
|
|
||||||
|
def test_decide_fire_level_single_urgent():
|
||||||
|
sigs = [
|
||||||
{"metric": "sim", "z": 3.0, "fire": "urgent"},
|
{"metric": "sim", "z": 3.0, "fire": "urgent"},
|
||||||
{"metric": "drift", "z": 0.2, "fire": "noop"},
|
{"metric": "drift", "z": 0.2, "fire": "noop"},
|
||||||
]
|
]
|
||||||
assert signals.decide_overall_fire(sigs3) == "urgent"
|
assert signals.decide_overall_fire(sigs) == "urgent"
|
||||||
|
|
||||||
sigs4 = [{"metric": "sim", "z": 0.5, "fire": "noop"}]
|
|
||||||
assert signals.decide_overall_fire(sigs4) == "noop"
|
def test_decide_fire_level_all_noop():
|
||||||
|
sigs = [{"metric": "sim", "z": 0.5, "fire": "noop"}]
|
||||||
|
assert signals.decide_overall_fire(sigs) == "noop"
|
||||||
|
|||||||
Reference in New Issue
Block a user