Spaces:
Running
Running
File size: 3,089 Bytes
8e5d114 | 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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | from tests.e2e_quality import (
SYNTHETIC_FAILURE_SCORE,
SYNTHETIC_WARNING_SCORE_CAP,
detect_synthetic_dimension_values,
grade_data_quality,
)
def test_detect_synthetic_route_number_values():
sample_data = """
Table: SHIPMENTS
Columns: ROUTE_NAME, SHIPMENTS
{'ROUTE_NAME': 'North Corridor Route 31', 'SHIPMENTS': 120}
{'ROUTE_NAME': 'Central Express Route 21', 'SHIPMENTS': 98}
{'ROUTE_NAME': 'Central Express Route 31', 'SHIPMENTS': 87}
"""
result = detect_synthetic_dimension_values(sample_data)
assert result["fail"] is False
assert result["warn"] is True
assert result["count"] == 3
assert result["occurrences"] == 3
assert "North Corridor Route 31" in result["examples"]
def test_grade_data_quality_caps_low_volume_synthetic_numeric_suffixes(monkeypatch):
monkeypatch.setattr(
"tests.e2e_quality._call_grader",
lambda prompt: {
"score": 96,
"reasoning": "Otherwise solid data.",
"strengths": ["Good scale"],
"weaknesses": [],
},
)
sample_data = """
Table: ROUTES
Columns: ROUTE_NAME
{'ROUTE_NAME': 'North Corridor Route 31'}
"""
result = grade_data_quality(
company="Maersk",
vertical="Transportation & Logistics",
line="Shipping",
function="Finance",
model_tml="model: {}",
sample_data=sample_data,
)
assert result["score"] == SYNTHETIC_WARNING_SCORE_CAP
assert result["synthetic_dimension_warning"]["warn"] is True
assert "Synthetic numeric-suffix dimension values detected at low volume" in result["weaknesses"]
assert "Capped at" in result["reasoning"]
def test_grade_data_quality_fails_repeated_synthetic_numeric_suffixes():
sample_data = "\n".join(
[
"Table: ROUTES",
"Columns: ROUTE_NAME",
*[
" {'ROUTE_NAME': 'North Corridor Route 31'}"
for _ in range(10)
],
]
)
result = grade_data_quality(
company="Maersk",
vertical="Transportation & Logistics",
line="Shipping",
function="Finance",
model_tml="model: {}",
sample_data=sample_data,
)
assert result["score"] == SYNTHETIC_FAILURE_SCORE
assert result["synthetic_dimension_failure"]["fail"] is True
assert result["synthetic_dimension_failure"]["occurrences"] == 10
assert "North Corridor Route 31" in result["weaknesses"]
assert "Automatic data-quality failure" in result["reasoning"]
def test_detect_synthetic_route_gate_ignores_natural_named_values_without_suffixes():
sample_data = """
Table: SHIPMENTS
Columns: ROUTE_NAME, CUSTOMER_NAME
{'ROUTE_NAME': 'Pacific Northwest Corridor', 'CUSTOMER_NAME': 'Acme Logistics'}
{'ROUTE_NAME': 'Atlanta to Savannah Intermodal', 'CUSTOMER_NAME': 'Northstar Foods'}
"""
result = detect_synthetic_dimension_values(sample_data)
assert result == {
"fail": False,
"warn": False,
"examples": [],
"count": 0,
"occurrences": 0,
}
|