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"