cbsl-commodity-forecast / tests /test_parser.py
github-actions[bot]
Automated CT: Update daily prices and retrain model [skip ci]
d877708
Raw
History Blame Contribute Delete
973 Bytes
import pytest
from src.ingestion.cbsl_parser import CBSLParser
def test_parse_prices_basic():
parser = CBSLParser()
mock_text = """
Market Analysis Report
Samba Rice: 210.00 per kg
Kekulu Rice: 195.50
Big Onion (Local): 350.00
Potato: 150.00, 160.00
Random Item: 50.00
"""
results = parser.parse_prices(mock_text)
commodities = [r["Commodity"] for r in results]
assert "Samba" in commodities
assert "Kekulu" in commodities
assert "Big Onion" in commodities
assert "Potato" in commodities
assert "Random Item" not in commodities
def test_parse_prices_no_match():
parser = CBSLParser()
mock_text = "No data here"
results = parser.parse_prices(mock_text)
assert len(results) == 0
def test_parse_prices_numeric_extraction():
parser = CBSLParser()
mock_text = "Samba: 2,150.75"
results = parser.parse_prices(mock_text)
assert results[0]["Extracted_Prices"][0] == "2,150.75"