@@ -1492,6 +1492,148 @@ def test_arch_consumer_fact_jsonl_provider_maps_state_soi_rows(
14921492 }
14931493
14941494
1495+ def test_arch_consumer_fact_jsonl_provider_maps_acs_district_age_rows (
1496+ tmp_path : Path ,
1497+ ) -> None :
1498+ consumer_jsonl = tmp_path / "consumer_facts.jsonl"
1499+ rows = [
1500+ _consumer_fact (
1501+ "acs-cd-al01-age-0-4" ,
1502+ concept = "census_acs.person_count" ,
1503+ domain = "total_population" ,
1504+ source_name = "census_acs" ,
1505+ source_table = "ACS S0101 congressional district age" ,
1506+ period = {"type" : "calendar_year" , "value" : 2024 },
1507+ geography = {
1508+ "level" : "congressional_district" ,
1509+ "id" : "5001900US0101" ,
1510+ "name" : "Congressional District 1 (119th Congress), Alabama" ,
1511+ },
1512+ value = 39_908 ,
1513+ constraints = (
1514+ {
1515+ "variable" : "age" ,
1516+ "operator" : ">=" ,
1517+ "value" : 0 ,
1518+ "unit" : "years" ,
1519+ "role" : "filter" ,
1520+ },
1521+ {
1522+ "variable" : "age" ,
1523+ "operator" : "<" ,
1524+ "value" : 5 ,
1525+ "unit" : "years" ,
1526+ "role" : "filter" ,
1527+ },
1528+ ),
1529+ ),
1530+ ]
1531+ consumer_jsonl .write_text (
1532+ "\n " .join (json .dumps (row , sort_keys = True ) for row in rows ) + "\n "
1533+ )
1534+
1535+ target_set = ArchConsumerFactJSONLTargetProvider (consumer_jsonl ).load_target_set (
1536+ TargetQuery (
1537+ period = 2024 ,
1538+ provider_filters = {
1539+ "sources" : ["CENSUS_ACS" ],
1540+ "target_cells" : [
1541+ {
1542+ "variable" : "person_count" ,
1543+ "geo_level" : "district" ,
1544+ "geographic_id" : "0101" ,
1545+ "domain_variable" : "age" ,
1546+ },
1547+ ],
1548+ },
1549+ )
1550+ )
1551+
1552+ assert len (target_set .targets ) == 1
1553+ target = target_set .targets [0 ]
1554+ assert target .value == 39_908
1555+ assert target .metadata ["variable" ] == "person_count"
1556+ assert target .metadata ["geo_level" ] == "district"
1557+ assert target .metadata ["source" ] == "CENSUS_ACS"
1558+ assert _target_filter_tuples (target ) == {
1559+ ("age" , ">=" , "0" ),
1560+ ("age" , "<" , "5" ),
1561+ ("congressional_district_geoid" , "==" , "0101" ),
1562+ }
1563+
1564+
1565+ def test_arch_consumer_fact_jsonl_provider_maps_acs_district_snap_rows (
1566+ tmp_path : Path ,
1567+ ) -> None :
1568+ consumer_jsonl = tmp_path / "consumer_facts.jsonl"
1569+ geography = {
1570+ "level" : "congressional_district" ,
1571+ "id" : "5001900US0101" ,
1572+ "name" : "Congressional District 1 (119th Congress), Alabama" ,
1573+ }
1574+ rows = [
1575+ _consumer_fact (
1576+ "acs-cd-al01-households-total" ,
1577+ concept = "census_acs.household_count" ,
1578+ domain = "households" ,
1579+ source_name = "census_acs" ,
1580+ source_table = "ACS S2201 congressional district SNAP households" ,
1581+ period = {"type" : "calendar_year" , "value" : 2024 },
1582+ geography = geography ,
1583+ value = 300_636 ,
1584+ ),
1585+ _consumer_fact (
1586+ "acs-cd-al01-households-snap" ,
1587+ concept = "census_acs.household_count" ,
1588+ domain = "households" ,
1589+ source_name = "census_acs" ,
1590+ source_table = "ACS S2201 congressional district SNAP households" ,
1591+ period = {"type" : "calendar_year" , "value" : 2024 },
1592+ geography = geography ,
1593+ value = 34_742 ,
1594+ constraints = (
1595+ {
1596+ "variable" : "snap_receipt_status" ,
1597+ "operator" : "==" ,
1598+ "value" : "receiving_food_stamps_snap" ,
1599+ "role" : "filter" ,
1600+ },
1601+ ),
1602+ ),
1603+ ]
1604+ consumer_jsonl .write_text (
1605+ "\n " .join (json .dumps (row , sort_keys = True ) for row in rows ) + "\n "
1606+ )
1607+
1608+ target_set = ArchConsumerFactJSONLTargetProvider (consumer_jsonl ).load_target_set (
1609+ TargetQuery (
1610+ period = 2024 ,
1611+ provider_filters = {
1612+ "sources" : ["CENSUS_ACS" ],
1613+ "target_cells" : [
1614+ {
1615+ "variable" : "household_count" ,
1616+ "geo_level" : "district" ,
1617+ "geographic_id" : "0101" ,
1618+ "domain_variable" : "snap" ,
1619+ },
1620+ ],
1621+ },
1622+ )
1623+ )
1624+
1625+ assert len (target_set .targets ) == 1
1626+ target = target_set .targets [0 ]
1627+ assert target .value == 34_742
1628+ assert target .metadata ["variable" ] == "household_count"
1629+ assert target .metadata ["geo_level" ] == "district"
1630+ assert target .metadata ["source" ] == "CENSUS_ACS"
1631+ assert _target_filter_tuples (target ) == {
1632+ ("congressional_district_geoid" , "==" , "0101" ),
1633+ ("snap" , ">" , "0" ),
1634+ }
1635+
1636+
14951637def test_arch_consumer_fact_jsonl_provider_maps_state_broad_soi_concepts (
14961638 tmp_path : Path ,
14971639) -> None :
0 commit comments