| 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" |
|
|