#
import pytest
from load_one_data import dump_diff, dump_same_and_not_same, one_dump_test

from ArWikiCats import resolve_label_ar
from utils.dump_runner import make_dump_test_name_data

data_not_ready = {
    "20th century members of maine legislature": "أعضاء هيئة مين التشريعية في القرن 20",
    "Wheelchair basketball at the Summer Paralympics navigational boxes": "صناديق تصفح كرة السلة على الكراسي المتحركة في الألعاب البارالمبية الصيفية",
    "Wheelchair fencing at the Summer Paralympics navigational boxes": "صناديق تصفح مبارزة سيف الشيش على الكراسي المتحركة في الألعاب البارالمبية الصيفية",
    "Wheelchair tennis at the Summer Paralympics navigational boxes": "صناديق تصفح كرة المضرب على الكراسي المتحركة في الألعاب البارالمبية الصيفية",
    "Athletics at the Universiade navigational boxes": "صناديق تصفح ألعاب القوى في الألعاب الجامعية",
    "Athletics at the Summer Universiade navigational boxes": "صناديق تصفح ألعاب القوى في الألعاب الجامعية الصيفية",
    "Nations at multi-sport events navigational boxes": "صناديق تصفح بلدان في الأحداث الرياضية المتعددة",
    "American Civil War by state navigational boxes": "صناديق تصفح الحرب الأهلية الأمريكية حسب الولاية",
    "Canadian football teams": "فرق كرة القدم الكندية",
    "Canadian football people": "أعلام كرة القدم الكندية",
    "Canadian football leagues": "دوريات كرة القدم الكندية",
    "1880s in film by country": "أفلام في عقد 1880 حسب البلد",
    "Canadian football on television": "كرة القدم الكندية على التلفاز",
    "18th-century people of the Dutch Empire": "أشخاص من الإمبراطورية الهولندية القرن 18",
    "20th-century presidents of Russia": "رؤساء روسيا القرن 20",
    "Attacks on diplomatic missions of Russia": "هجمات على بعثات دبلوماسية روسيا",
    "Italian defectors to the Soviet Union": "إيطاليون منشقون إلى الاتحاد السوفيتي",
    "Lists of organisations based in Papua New Guinea": "قوائم منظمات مقرها في بابوا غينيا الجديدة",
    "COVID-19 pandemic in Papua New Guinea templates": "قوالب جائحة فيروس كورونا في بابوا غينيا الجديدة",
    "20th-century executions by Papua New Guinea": "إعدامات في بابوا غينيا الجديدة في القرن 20",
    "Works by Antigua and Barbuda people": "أعمال أنتيغويون وبربوديون",
}

data1 = {
    "lists of american non-fiction television series episodes": "قوائم حلقات مسلسلات تلفزيونية غير خيالية أمريكية",
    "lists of australian non-fiction television series episodes": "قوائم حلقات مسلسلات تلفزيونية غير خيالية أسترالية",
    "lists of british non-fiction television series episodes": "قوائم حلقات مسلسلات تلفزيونية غير خيالية بريطانية",
    "lists of canadian non-fiction television series episodes": "قوائم حلقات مسلسلات تلفزيونية غير خيالية كندية",
    "lists of non-fiction television series episodes": "قوائم حلقات مسلسلات تلفزيونية غير خيالية",
    "20th century synagogues in switzerland": "كنس في سويسرا في القرن 20",
    "20th century prime ministers of japan": "رؤساء وزراء اليابان في القرن 20",
    "2010–11 in Antigua and Barbuda football": "كرة القدم الأنتيغوية والبربودية في 2010–11",
    "2011–12 in Antigua and Barbuda football": "كرة القدم الأنتيغوية والبربودية في 2011–12",
    "2012–13 in Antigua and Barbuda football": "كرة القدم الأنتيغوية والبربودية في 2012–13",
    "2013–14 in Antigua and Barbuda football": "كرة القدم الأنتيغوية والبربودية في 2013–14",
    "2014–15 in Antigua and Barbuda football": "كرة القدم الأنتيغوية والبربودية في 2014–15",
    "2015–16 in Antigua and Barbuda football": "كرة القدم الأنتيغوية والبربودية في 2015–16",
    "2016–17 in Antigua and Barbuda football": "كرة القدم الأنتيغوية والبربودية في 2016–17",
    "2017–18 in Antigua and Barbuda football": "كرة القدم الأنتيغوية والبربودية في 2017–18",
    "2018–19 in Antigua and Barbuda football": "كرة القدم الأنتيغوية والبربودية في 2018–19",
    "2019–20 in Antigua and Barbuda football": "كرة القدم الأنتيغوية والبربودية في 2019–20",
}

data2 = {
    "Lists of Antigua and Barbuda people": "قوائم أنتيغويون وبربوديون",
    "Antigua and Barbuda football templates": "قوالب كرة القدم الأنتيغوية والبربودية",
    "10th century chinese people by occupation": "صينيون في القرن 10 حسب المهنة",
    "15th century swiss people by occupation": "سويسريون في القرن 15 حسب المهنة",
    "16th century iranian people by occupation": "إيرانيون في القرن 16 حسب المهنة",
    "20th century croatian people by occupation": "كروات في القرن 20 حسب المهنة",
    "21st century yemeni people by occupation": "يمنيون في القرن 21 حسب المهنة",
    "3rd century asian people by nationality": "آسيويون في القرن 3 حسب الجنسية",
    "20th century american people by occupation": "أمريكيون في القرن 20 حسب المهنة",
}

data3 = {
    "2021 Tamil-language television series endings": "x",
    "2024–2026 ICC Cricket World Cup League 2": "x",
    "2026 All Elite Wrestling pay-per-view events": "x",
    "2026 All-Ireland Senior Football Championship": "x",
    "2026 animated television series debuts": "x",
    "2026 anime television series debuts": "x",
    "2026 anime": "x",
    "2026 beauty pageants": "x",
    "2026 Canadian Football League season by team": "x",
    "2026 CONCACAF Champions Cup participants seasons": "x",
    "2026 CONCACAF Champions Cup": "x",
    "2026 concert residencies": "x",
    "2026 concert tours": "x",
    "2026 debut works": "x",
    "2026 directorial debut films": "x",
    "2026 English local elections": "x",
    "2026 FIA World Endurance Championship season": "x",
    "2026 FIBA 3x3 World Cup": "x",
    "2026 FIFA World Cup qualification (CONCACAF)": "x",
    "2026 FIFA World Cup qualification (UEFA)": "x",
    "2026 FIFA World Cup qualification templates": "x",
    "2026 IIHF Men's World Ice Hockey Championships": "x",
    "2026 IIHF U18 Women's World Championships": "x",
    "2026 in 3x3 basketball": "x",
    "2026 in Asian international football": "x",
    "2026 in Asian men's football": "x",
    "2026 in Asian men's international football": "x",
    "2026 in Asian women's international football": "x",
    "2026 in Asian youth football": "x",
    "2026 in Catalan sport": "x",
    "2026 in computing": "x",
    "2026 in disability sport": "x",
    "2026 in European international football": "x",
    "2026 in European men's football": "x",
    "2026 in European men's international football": "x",
    "2026 in European women's international football": "x",
    "2026 in European youth football": "x",
    "2026 in Formula Three": "x",
    "2026 in Ladies' Gaelic football": "x",
    "2026 in LGBTQ history": "x",
    "2026 in men's international sport": "x",
    "2026 in New Zealand cricket": "x",
    "2026 in North Macedonia sport": "x",
    "2026 in OFC football": "x",
    "2026 in ski mountaineering": "x",
    "2026 in speedway": "x",
    "2026 in strength athletics": "x",
    "2026 in the sport of athletics": "x",
    "2026 in track racing": "x",
    "2026 in UFC": "x",
    "2026 in West Indian cricket": "x",
    "2026 in women's international sport": "x",
    "2026 London Borough council elections": "x",
    "2026 Major League Baseball season": "x",
    "2026 Men's FIH Hockey World Cup qualification": "x",
    "2026 Men's FIH Hockey World Cup Qualifying Tournaments": "x",
    "2026 Men's FIH Hockey World Cup": "x",
    "2026 Men's T20 World Cup qualification": "x",
    "2026 Men's T20 World Cup templates": "x",
    "2026 Men's T20 World Cup": "x",
    "2026 multiplayer online battle arena tournaments": "x",
    "2026 National Football League (Ireland)": "x",
    "2026 NFL season": "x",
    "2026 Ontario municipal elections": "x",
    "2026 political party leadership elections": "x",
    "2026 song contests": "x",
    "2026 Speedway Grand Prix": "x",
    "2026 State Assembly elections in India": "x",
    "2026 state constitutional officer elections in the United States": "x",
    "2026 state legislature special elections in the United States": "x",
    "2026 television specials": "x",
    "2026 U.S. legislative sessions": "x",
    "2026 UEFA European Under-17 Championship": "x",
    "2026 UEFA European Under-19 Championship": "x",
    "2026 Under-19 Men's Cricket World Cup": "x",
    "2026 United Kingdom local elections": "x",
    "2026 United States county executive elections": "x",
    "2026 United States judicial elections": "x",
    "2026 United States lieutenant gubernatorial elections": "x",
    "2026 United States local elections": "x",
    "2026 United States mayoral elections": "x",
    "2026 United States state attorney general elections": "x",
    "2026 United States state auditor elections": "x",
    "2026 United States state secretary of state elections": "x",
    "2026 United States state superintendent of public instruction elections": "x",
    "2026 United States state treasurer elections": "x",
    "2026 WAFF Championship": "x",
    "2026 Women's FIH Hockey World Cup qualification": "x",
    "2026 Women's FIH Hockey World Cup Qualifying Tournaments": "x",
    "2026 Women's FIH Hockey World Cup": "x",
    "2026 Women's T20 World Cup qualification": "x",
    "2026 Women's T20 World Cup templates": "x",
    "2026 Women's T20 World Cup": "x",
    "2026 World Rally Championship season": "x",
    "2026 WWE Network events": "x",
    "2026 WWE pay-per-view events": "x",
    "2026–27 Australian cricket season": "x",
    "2026–27 in European international football": "x",
    "2026–27 in European men's field hockey": "x",
    "2026–27 in European men's football": "x",
    "2026–27 in European men's international football": "x",
    "2026–27 U Sports season": "x",
    "2026–27 UEFA Conference League": "x",
    "20th-century American newspaper publishers (people)": "x",
    "21st-century Moroccan LGBTQ people": "x",
    "Academic staff of Süleyman Demirel University": "x",
    "Alumni of Teesside University": "x",
    "American soccer clubs 2026 season": "x",
    "Amusement rides planned to open in 2026": "x",
    "Antiquities in Pushkin Museum": "x",
    "Assam MLAs 2021–2026": "x",
    "Azad Kashmir MLAs 2021–2026": "x",
    "Battle of Greece": "x",
    "Countries in the Eurovision Song Contest 2026": "x",
    "Eurovision Song Contest 2026": "x",
    "Founders of Sciences Po": "x",
    "Great Britain national baseball team": "x",
    "India Meteorological Department": "x",
    "Justice ministers of Andalusia": "x",
    "Kerala MLAs 2021–2026": "x",
    "Major League Volleyball (2026)": "x",
    "Mass media occupations": "x",
    "Members of the Election Committee of Hong Kong": "x",
    "Members of the Folketing 2022–2026": "x",
    "Members of the House of Keys 2021–2026": "x",
    "Out of copyright in 2026": "x",
    "Planning ministers of Puntland": "x",
    "Puducherry MLAs 2021–2026": "x",
    "Railway stations scheduled to open in 2026": "x",
    "Rodez AF": "x",
    "Rohingya people": "x",
    "Scottish Parliament constituencies and regions from 2026": "x",
    "Screenshots of films out of copyright in 2026": "x",
    "Short-track speed skating at the 2026 Winter Olympics": "x",
    "Ski mountaineering at the 2026 Winter Olympics": "x",
    "Tamil Nadu MLAs 2021–2026": "x",
    "Tennessee Technological University": "x",
    "Texas A&M University faculty": "x",
    "Train-related introductions in 2026": "x",
    "UK councillors 2022–2026": "x",
    "Wales MSs 2021–2026": "x",
    "West Bengal MLAs 2021–2026": "x",
    "West Coast hip-hop musicians": "x",
    "Women government ministers of Nauru": "x",
    "Yi people": "x",
}

to_test = [
    ("test_2026_data_1", data1),
    ("test_2026_data_2", data2),
    # ("test_2026_data_3", data3),
]


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


test_dump_all = make_dump_test_name_data(to_test, resolve_label_ar, run_same=True)
