import pytest
from load_one_data import dump_diff, dump_same_and_not_same, one_dump_test

from ArWikiCats import resolve_label_ar

data0 = {
    "15th-century Buddhist temples in China": "معابد بوذية في الصين القرن 15",
    "18th-century Buddhist temples in China": "معابد بوذية في الصين القرن 18",
    "18th-century Buddhist temples in Thailand": "معابد بوذية في تايلاند القرن 18",
    "1450s murders in ireland": "",
    "21st century executions in kentucky": "",
    "6th century kings of italy": "",
}

data1 = {
    "Lists of Buddhist buildings and structures": "قوائم مبان ومنشآت بوذية",
    "Lists of Hindu buildings and structures": "قوائم مبان ومنشآت هندوسية",
    "Lists of Islamic buildings and structures": "قوائم مبان ومنشآت إسلامية",
    "Lists of Jewish buildings and structures": "قوائم مبان ومنشآت يهودية",
    "lists of religious buildings and structures": "قوائم مبان ومنشآت دينية",
    "2000s films": "أفلام إنتاج عقد 2000",
    "1650s films": "أفلام إنتاج عقد 1650",
    "1st-millennium literature": "أدب الألفية 1",
    "20th-century Ghanaian literature": "أدب غاني في القرن 20",
    "20th-century Mexican literature": "أدب مكسيكي في القرن 20",
    "20th-century Taiwanese literature": "أدب تايواني في القرن 20",
    "20th-century Ukrainian literature": "أدب أوكراني في القرن 20",
    "20th-century Zimbabwean literature": "أدب زيمبابوي في القرن 20",
    "21st-century Ghanaian literature": "أدب غاني في القرن 21",
    "21st-century Moroccan literature": "أدب مغربي في القرن 21",
    "21st-century Taiwanese literature": "أدب تايواني في القرن 21",
    "21st-century Ukrainian literature": "أدب أوكراني في القرن 21",
    "21st-century Zimbabwean literature": "أدب زيمبابوي في القرن 21",
    "10th-century Buddhist temples": "معابد بوذية القرن 10",
    "10th-century Hindu temples": "معابد هندوسية القرن 10",
    "11th-century Buddhist temples": "معابد بوذية القرن 11",
    "11th-century Hindu temples": "معابد هندوسية القرن 11",
    "12th-century Buddhist temples": "معابد بوذية القرن 12",
    "12th-century Hindu temples": "معابد هندوسية القرن 12",
    "13th-century Buddhist temples": "معابد بوذية القرن 13",
    "13th-century Hindu temples": "معابد هندوسية القرن 13",
    "14th-century Buddhist temples": "معابد بوذية القرن 14",
    "14th-century Hindu temples": "معابد هندوسية القرن 14",
    "15th-century Buddhist temples": "معابد بوذية القرن 15",
    "15th-century Hindu temples": "معابد هندوسية القرن 15",
    "16th-century Buddhist temples": "معابد بوذية القرن 16",
    "16th-century Hindu temples": "معابد هندوسية القرن 16",
    "17th-century Buddhist temples": "معابد بوذية القرن 17",
    "17th-century Hindu temples": "معابد هندوسية القرن 17",
    "18th-century Buddhist temples": "معابد بوذية القرن 18",
    "18th-century Hindu temples": "معابد هندوسية القرن 18",
    "19th-century Buddhist temples": "معابد بوذية القرن 19",
    "19th-century Hindu temples": "معابد هندوسية القرن 19",
    "1st-century BC Hindu temples": "معابد هندوسية القرن 1 ق م",
    "1st-century Hindu temples": "معابد هندوسية القرن 1",
    "20th-century Buddhist temples": "معابد بوذية القرن 20",
    "20th-century Hindu temples": "معابد هندوسية القرن 20",
    "20th-century Jain temples": "معابد جاينية القرن 20",
    "21st-century Buddhist temples": "معابد بوذية القرن 21",
    "21st-century Hindu temples": "معابد هندوسية القرن 21",
    "2nd-century BC Hindu temples": "معابد هندوسية القرن 2 ق م",
    "2nd-century Hindu temples": "معابد هندوسية القرن 2",
    "3rd-century BC Hindu temples": "معابد هندوسية القرن 3 ق م",
    "3rd-century Buddhist temples": "معابد بوذية القرن 3",
    "4th-century Buddhist temples": "معابد بوذية القرن 4",
    "4th-century Hindu temples": "معابد هندوسية القرن 4",
    "5th-century BC Hindu temples": "معابد هندوسية القرن 5 ق م",
    "5th-century Buddhist temples": "معابد بوذية القرن 5",
    "5th-century Hindu temples": "معابد هندوسية القرن 5",
    "6th-century Buddhist temples": "معابد بوذية القرن 6",
    "6th-century Hindu temples": "معابد هندوسية القرن 6",
    "7th-century Buddhist temples": "معابد بوذية القرن 7",
    "7th-century Hindu temples": "معابد هندوسية القرن 7",
    "8th-century Buddhist temples": "معابد بوذية القرن 8",
    "8th-century Hindu temples": "معابد هندوسية القرن 8",
    "9th-century Buddhist temples": "معابد بوذية القرن 9",
    "9th-century Hindu temples": "معابد هندوسية القرن 9",
    "1610s operas": "أوبيرات عقد 1610",
    "1620s operas": "أوبيرات عقد 1620",
    "1630s operas": "أوبيرات عقد 1630",
    "1640s operas": "أوبيرات عقد 1640",
    "1650s operas": "أوبيرات عقد 1650",
    "1670s operas": "أوبيرات عقد 1670",
    "1680s operas": "أوبيرات عقد 1680",
    "1690s operas": "أوبيرات عقد 1690",
    "1680s essays": "مقالات عقد 1680",
    "1690s essays": "مقالات عقد 1690",
    "1610s essays": "مقالات عقد 1610",
    "1640s essays": "مقالات عقد 1640",
    "13th-century Hindu philosophers and theologians": "فلاسفة ولاهوتيون هندوس في القرن 13",
    "16th-century Hindu philosophers and theologians": "فلاسفة ولاهوتيون هندوس في القرن 16",
    "17th-century Hindu philosophers and theologians": "فلاسفة ولاهوتيون هندوس في القرن 17",
    "18th-century Hindu philosophers and theologians": "فلاسفة ولاهوتيون هندوس في القرن 18",
    "19th-century Hindu philosophers and theologians": "فلاسفة ولاهوتيون هندوس في القرن 19",
    "20th-century Hindu philosophers and theologians": "فلاسفة ولاهوتيون هندوس في القرن 20",
    "21st-century Hindu philosophers and theologians": "فلاسفة ولاهوتيون هندوس في القرن 21",
    "1650s television series": "مسلسلات تلفزيونية في عقد 1650",
    "16th-century Anglican bishops in Ireland": "أساقفة أنجليكيون في القرن 16 في أيرلندا",
    "16th-century rabbis in Jerusalem": "حاخامات في القرن 16 في القدس",
    "17th-century Anglican bishops in Ireland": "أساقفة أنجليكيون في القرن 17 في أيرلندا",
    "18th-century Anglican bishops in Ireland": "أساقفة أنجليكيون في القرن 18 في أيرلندا",
    "18th-century Anglican bishops in North America": "أساقفة أنجليكيون في القرن 18 في أمريكا الشمالية",
    "18th-century Anglican bishops in United States": "أساقفة أنجليكيون في القرن 18 في الولايات المتحدة",
    "18th-century people of the Dutch Empire": "أشخاص في القرن 18 في الإمبراطورية الهولندية",
    "18th-century princes of Monaco": "أمراء في القرن 18 في موناكو",
    "18th-century slaves in Morocco": "عبيد في القرن 18 في المغرب",
    "18th-century sultans of Brunei": "سلاطين في القرن 18 في بروناي",
    "1920s in politics by country": "السياسة في عقد 1920 حسب البلد",
    "1950s criminal comedy films": "أفلام كوميديا الجريمة في عقد 1950",
    "1960s black comedy films": "أفلام كوميدية سوداء في عقد 1960",
    "1960s criminal comedy films": "أفلام كوميديا الجريمة في عقد 1960",
    "1970s black comedy films": "أفلام كوميدية سوداء في عقد 1970",
    "1970s criminal comedy films": "أفلام كوميديا الجريمة في عقد 1970",
    "1980s black comedy films": "أفلام كوميدية سوداء في عقد 1980",
    "1980s criminal comedy films": "أفلام كوميديا الجريمة في عقد 1980",
    "19th-century Anglican bishops in Africa": "أساقفة أنجليكيون في القرن 19 في إفريقيا",
    "19th-century Anglican bishops in Asia": "أساقفة أنجليكيون في القرن 19 في آسيا",
    "19th-century Anglican bishops in Australia": "أساقفة أنجليكيون في القرن 19 في أستراليا",
    "19th-century Anglican bishops in Caribbean": "أساقفة أنجليكيون في القرن 19 في الكاريبي",
    "19th-century Anglican bishops in China": "أساقفة أنجليكيون في القرن 19 في الصين",
    "19th-century Anglican bishops in Ireland": "أساقفة أنجليكيون في القرن 19 في أيرلندا",
    "19th-century Anglican bishops in Middle East": "أساقفة أنجليكيون في القرن 19 في الشرق الأوسط",
    "19th-century Anglican bishops in New Zealand": "أساقفة أنجليكيون في القرن 19 في نيوزيلندا",
    "19th-century Anglican bishops in North America": "أساقفة أنجليكيون في القرن 19 في أمريكا الشمالية",
    "19th-century Anglican bishops in Oceania": "أساقفة أنجليكيون في القرن 19 في أوقيانوسيا",
    "19th-century Anglican bishops in Sierra Leone": "أساقفة أنجليكيون في القرن 19 في سيراليون",
    "19th-century Anglican bishops in United States": "أساقفة أنجليكيون في القرن 19 في الولايات المتحدة",
    "19th-century Anglican bishops of Gibraltar": "أساقفة أنجليكيون في القرن 19 في جبل طارق",
    "19th-century princesses of Wales": "أميرات في القرن 19 في ويلز",
    "2000s in politics by country": "السياسة في عقد 2000 حسب البلد",
    "2011 road incidents in Europe": "حوادث طرق في 2011 في أوروبا",
    "2022 local elections in Nigeria": "انتخابات محلية 2022 في نيجيريا",
    "2022–23 EuroLeague by club": "الدوري الأوروبي لكرة السلة 2022–23 حسب النادي",
    "2026 ballot measures in the United States": "إجراءات اقتراع 2026 في الولايات المتحدة",
    "2026 in politics by country": "السياسة في 2026 حسب البلد",
    "2026 state legislature elections in the United States": "انتخابات المجالس التشريعية للولايات 2026 في الولايات المتحدة",
    "20th century women": "نساء في القرن 20",
    "20th-century Anglican bishops in Africa": "أساقفة أنجليكيون في القرن 20 في إفريقيا",
    "20th-century Anglican bishops in Asia": "أساقفة أنجليكيون في القرن 20 في آسيا",
    "20th-century Anglican bishops in Australia": "أساقفة أنجليكيون في القرن 20 في أستراليا",
    "20th-century Anglican bishops in Bermuda": "أساقفة أنجليكيون في القرن 20 في برمودا",
    "20th-century Anglican bishops in Canada": "أساقفة أنجليكيون في القرن 20 في كندا",
    "20th-century Anglican bishops in Caribbean": "أساقفة أنجليكيون في القرن 20 في الكاريبي",
    "20th-century Anglican bishops in China": "أساقفة أنجليكيون في القرن 20 في الصين",
    "20th-century Anglican bishops in Europe": "أساقفة أنجليكيون في القرن 20 في أوروبا",
    "20th-century Anglican bishops in Ghana": "أساقفة أنجليكيون في القرن 20 في غانا",
    "20th-century Anglican bishops in India": "أساقفة أنجليكيون في القرن 20 في الهند",
    "20th-century Anglican bishops in Ireland": "أساقفة أنجليكيون في القرن 20 في أيرلندا",
    "20th-century Anglican bishops in Malawi": "أساقفة أنجليكيون في القرن 20 في ملاوي",
    "20th-century Anglican bishops in Mexico": "أساقفة أنجليكيون في القرن 20 في المكسيك",
    "20th-century Anglican bishops in Middle East": "أساقفة أنجليكيون في القرن 20 في الشرق الأوسط",
    "20th-century Anglican bishops in New Zealand": "أساقفة أنجليكيون في القرن 20 في نيوزيلندا",
    "20th-century Anglican bishops in Nigeria": "أساقفة أنجليكيون في القرن 20 في نيجيريا",
    "20th-century Anglican bishops in North America": "أساقفة أنجليكيون في القرن 20 في أمريكا الشمالية",
    "20th-century Anglican bishops in Oceania": "أساقفة أنجليكيون في القرن 20 في أوقيانوسيا",
    "20th-century Anglican bishops in Sierra Leone": "أساقفة أنجليكيون في القرن 20 في سيراليون",
    "20th-century Anglican bishops in South America": "أساقفة أنجليكيون في القرن 20 في أمريكا الجنوبية",
    "20th-century Anglican bishops in Tanzania": "أساقفة أنجليكيون في القرن 20 في تنزانيا",
    "20th-century Anglican bishops in Uganda": "أساقفة أنجليكيون في القرن 20 في أوغندا",
    "20th-century Anglican bishops in United States": "أساقفة أنجليكيون في القرن 20 في الولايات المتحدة",
    "20th-century Anglican bishops of Gibraltar": "أساقفة أنجليكيون في القرن 20 في جبل طارق",
    "21st-century Anglican bishops in Africa": "أساقفة أنجليكيون في القرن 21 في إفريقيا",
    "21st-century Anglican bishops in Asia": "أساقفة أنجليكيون في القرن 21 في آسيا",
    "21st-century Anglican bishops in Australia": "أساقفة أنجليكيون في القرن 21 في أستراليا",
    "21st-century Anglican bishops in Bermuda": "أساقفة أنجليكيون في القرن 21 في برمودا",
    "21st-century Anglican bishops in Canada": "أساقفة أنجليكيون في القرن 21 في كندا",
    "21st-century Anglican bishops in Caribbean": "أساقفة أنجليكيون في القرن 21 في الكاريبي",
    "21st-century Anglican bishops in China": "أساقفة أنجليكيون في القرن 21 في الصين",
    "21st-century Anglican bishops in Ghana": "أساقفة أنجليكيون في القرن 21 في غانا",
    "21st-century Anglican bishops in India": "أساقفة أنجليكيون في القرن 21 في الهند",
    "21st-century Anglican bishops in Ireland": "أساقفة أنجليكيون في القرن 21 في أيرلندا",
    "21st-century Anglican bishops in Malawi": "أساقفة أنجليكيون في القرن 21 في ملاوي",
    "21st-century Anglican bishops in Mexico": "أساقفة أنجليكيون في القرن 21 في المكسيك",
    "21st-century Anglican bishops in Middle East": "أساقفة أنجليكيون في القرن 21 في الشرق الأوسط",
    "21st-century Anglican bishops in New Zealand": "أساقفة أنجليكيون في القرن 21 في نيوزيلندا",
    "21st-century Anglican bishops in Nigeria": "أساقفة أنجليكيون في القرن 21 في نيجيريا",
    "21st-century Anglican bishops in North America": "أساقفة أنجليكيون في القرن 21 في أمريكا الشمالية",
    "21st-century Anglican bishops in Oceania": "أساقفة أنجليكيون في القرن 21 في أوقيانوسيا",
    "21st-century Anglican bishops in Sierra Leone": "أساقفة أنجليكيون في القرن 21 في سيراليون",
    "21st-century Anglican bishops in South America": "أساقفة أنجليكيون في القرن 21 في أمريكا الجنوبية",
    "21st-century Anglican bishops in Tanzania": "أساقفة أنجليكيون في القرن 21 في تنزانيا",
    "21st-century Anglican bishops in Uganda": "أساقفة أنجليكيون في القرن 21 في أوغندا",
    "21st-century Anglican bishops in United States": "أساقفة أنجليكيون في القرن 21 في الولايات المتحدة",
    "21st-century Anglican bishops of Gibraltar": "أساقفة أنجليكيون في القرن 21 في جبل طارق",
    "21st-century films": "أفلام إنتاج القرن 21",
    "21st-century Methodist bishops in United States": "أساقفة ميثوديون لاهوتيون في القرن 21 في الولايات المتحدة",
    "4th-century bishops in Roman Empire": "أساقفة في القرن 4 في الإمبراطورية الرومانية",
    "8th-century dukes of Spoleto": "دوقات في القرن 8 في سبوليتو",
    "Counties of Appalachia": "مقاطعات في الأبالاش",
    "Counties of England by date of disestablishment": "مقاطعات في إنجلترا حسب تاريخ الانحلال",
    "Counties of Gyeonggi Province": "مقاطعات في مقاطعة غيونغي",
    "Counties of Iran": "مقاطعات في إيران",
    "Members of Parliament for Gers": "أعضاء برلمان في جارس (إقليم فرنسي)",
    "00s establishments in the Roman Empire": "تأسيسات عقد 00 في الإمبراطورية الرومانية",
    "1000s disestablishments in Asia": "انحلالات عقد 1000 في آسيا",
    "13th century establishments in the Roman Empire": "تأسيسات القرن 13 في الإمبراطورية الرومانية",
    "14th-century establishments in India": "تأسيسات القرن 14 في الهند",
    "1990s BC disestablishments in Asia": "انحلالات عقد 1990 ق م في آسيا",
    "1990s disestablishments in Europe": "انحلالات عقد 1990 في أوروبا",
    "19th-century actors by religion": "ممثلون في القرن 19 حسب الدين",
    "19th-century actors": "ممثلون في القرن 19",
    "19th-century people by religion": "أشخاص في القرن 19 حسب الدين",
    "20th-century disestablishments in India": "انحلالات القرن 20 في الهند",
    "April 1983 events in Europe": "أحداث أبريل 1983 في أوروبا",
    "July 2018 events by continent": "أحداث يوليو 2018 حسب القارة",
    "Lists of organizations based in Central America": "قوائم منظمات مقرها في أمريكا الوسطى",
    "1000 disestablishments by country": "انحلالات سنة 1000 حسب البلد",
    "1000 disestablishments in europe": "انحلالات سنة 1000 في أوروبا",
    "awards by country": "جوائز حسب البلد",
    "politics of united states by state": "سياسة الولايات المتحدة حسب الولاية",
    "television series by city of location": "مسلسلات تلفزيونية حسب مدينة الموقع",
    "19th century people": "أشخاص في القرن 19",
    "lists of football players by national team": "قوائم لاعبو كرة قدم حسب المنتخب الوطني",
}


@pytest.mark.parametrize("category, expected", data1.items(), ids=data1.keys())
@pytest.mark.fast
def test_mk3_0(category: str, expected: str) -> None:
    label = resolve_label_ar(category)
    assert label == expected


to_test = [
    ("test_2_skip2_2", data1),
]


@pytest.mark.parametrize("name,data", to_test)
@pytest.mark.dump
def test_peoples(name: str, data: dict[str, str]) -> None:
    expected, diff_result = one_dump_test(data, resolve_label_ar)

    dump_diff(diff_result, name)
    dump_same_and_not_same(data, expected, name)
    assert diff_result == expected, f"Differences found: {len(diff_result):,}, len all :{len(data):,}"
