File size: 1,656 Bytes
35676b4 7880373 35676b4 7880373 35676b4 7880373 35676b4 7880373 35676b4 7880373 35676b4 7880373 | 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 | import pytest
from agent.reliability import reliability_for
def test_filing_mda_is_high():
assert reliability_for("10-Q", section="MD&A", verification_status="VERIFIED") == "HIGH"
def test_risk_factors_is_medium():
assert reliability_for("10-K", section="Risk Factors", verification_status="VERIFIED") == "MEDIUM"
def test_transcript_is_medium():
assert reliability_for("transcript", verification_status="VERIFIED") == "MEDIUM"
def test_transcript_corroborated_is_high():
assert reliability_for("transcript", corroborated=True, verification_status="VERIFIED") == "MEDIUM"
def test_news_uncorroborated_is_low():
assert reliability_for("news") == "LOW"
def test_news_old_is_low():
assert reliability_for("news", age_days=45) == "LOW"
def test_news_corroborated_recent_is_medium():
assert reliability_for("news", age_days=10, corroborated=True, verification_status="VERIFIED") == "LOW"
def test_unknown_source_is_low():
assert reliability_for("bloomberg_terminal") == "LOW"
def test_explicit_unverified_or_failed_status_is_always_low():
assert reliability_for("10-Q", verification_status="UNVERIFIED") == "LOW"
assert reliability_for("metrics", verification_status="FAILED", corroborated=True) == "LOW"
def test_verified_structured_sources_have_defined_reliability():
assert reliability_for("metrics", verification_status="VERIFIED") == "HIGH"
assert reliability_for("analyst", verification_status="VERIFIED") == "LOW"
def test_missing_verification_never_promotes_a_source():
assert reliability_for("10-Q") == "LOW"
assert reliability_for("transcript", corroborated=True) == "LOW"
|