Spaces:
Running
Running
| 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" | |