#
import pytest

from ArWikiCats import resolve_label_ar
from utils.dump_runner import make_dump_test_name_data

data0 = {
    "Mongolian film actors": "ممثلو أفلام منغوليون",
    "Mongolian film directors": "مخرجو أفلام منغوليون",
    "Mongolian documentary filmmakers": "صانعو أفلام وثائقية منغوليون",
    "Mongolian film producers": "منتجو أفلام منغوليون",
    "Mongolian screenwriters": "كتاب سيناريو منغوليون",
    "American film people": "أعلام أفلام أمريكيون",
    "Yemeni film people": "أعلام أفلام يمنيون",
    "Ugandan film people": "أعلام أفلام أوغنديون",
    "Turkish film people": "أعلام أفلام أتراك",
    "Tunisian film people": "أعلام أفلام تونسيون",
    "Saudi Arabian film people": "أعلام أفلام سعوديون",
    "Rwandan film people": "أعلام أفلام روانديون",
    "Republic of the Congo film people": "أعلام أفلام كونغويون",
    "Palestinian film people": "أعلام أفلام فلسطينيون",
    "Nigerien film people": "أعلام أفلام نيجريون",
    "Malian film people": "أعلام أفلام ماليون",
    "Ivorian film people": "أعلام أفلام إيفواريون",
    "Gambian film people": "أعلام أفلام غامبيون",
    "Gabonese film people": "أعلام أفلام غابونيون",
    "Film people": "أعلام أفلام",
    "Film people by nationality": "أعلام أفلام حسب الجنسية",
    "Film people by role": "أعلام أفلام حسب الدور",
    "Ethiopian film people": "أعلام أفلام إثيوبيون",
    "Canadian film people": "أعلام أفلام كنديون",
    "Bulgarian film people": "أعلام أفلام بلغاريون",
    "Bissau-Guinean film people": "أعلام أفلام غينيون بيساويون",
}

data_1 = {
    "Film people from Andhra Pradesh": "أعلام أفلام من أندرا برديش",
    "Film people from Assam": "أعلام أفلام من أسام",
    "Film people from Athens": "أعلام أفلام من أثينا",
    "Film people from Baden-Württemberg": "أعلام أفلام من بادن-فورتمبيرغ",
    "Film people from Baku": "أعلام أفلام من باكو",
    "Film people from Bavaria": "أعلام أفلام من بافاريا",
    "Film people from Belgrade": "أعلام أفلام من بلغراد",
    "Film people from Bergamo": "أعلام أفلام من مدينة بيرغامو",
    "Film people from Berlin": "أعلام أفلام من برلين",
    "Film people from Besançon": "أعلام أفلام من بيزنسون",
    "Film people from Beverly Hills, California": "أعلام أفلام من بيفرلي هيلز",
    "Film people from Bihar": "أعلام أفلام من بيهار",
    "Film people from Bologna": "أعلام أفلام من بولونيا",
    "Film people from Brandenburg": "أعلام أفلام من براندنبورغ",
    "Film people from Bratislava": "أعلام أفلام من براتيسلافا",
    "Film people from Bremen (state)": "أعلام أفلام من ولاية بريمن",
    "Film people from Brest, France": "أعلام أفلام من بريست (فرنسا)",
    "Film people from Bristol": "أعلام أفلام من بريستول",
    "Film people from Brno": "أعلام أفلام من برنو",
    "Film people from Bucharest": "أعلام أفلام من بوخارست",
    "Film people from Budapest": "أعلام أفلام من بودابست",
    "Film people from Buenos Aires": "أعلام أفلام من بوينس آيرس",
    "Film people from Bydgoszcz": "أعلام أفلام من بيدغوشتش",
    "Film people from Cairo": "أعلام أفلام من القاهرة",
    "Film people from California": "أعلام أفلام من كاليفورنيا",
    "Film people from Catania": "أعلام أفلام من قطانية",
    "Film people from České Budějovice": "أعلام أفلام من تشيسكي بوديوفيتسه",
    "Film people from Chicago": "أعلام أفلام من شيكاغو",
    "Film people from Chișinău": "أعلام أفلام من كيشيناو",
    "Film people from Cleveland": "أعلام أفلام من كليفلاند",
    "Film people from Cluj-Napoca": "أعلام أفلام من كلوج نابوك",
    "Film people from Cologne": "أعلام أفلام من كولونيا",
    "Film people from Copenhagen": "أعلام أفلام من كوبنهاغن",
    "Film people from Delhi": "أعلام أفلام من دلهي",
    "Film people from Dnipro": "أعلام أفلام من دنيبروبتروفسك",
    "Film people from Dortmund": "أعلام أفلام من دورتموند",
    "Film people from Dresden": "أعلام أفلام من درسدن",
    "Film people from Dublin (city)": "أعلام أفلام من دبلن",
    "Film people from Düsseldorf": "أعلام أفلام من دوسلدورف",
    "Film people from Edinburgh": "أعلام أفلام من إدنبرة",
    "Film people from Essen": "أعلام أفلام من إسن",
    "Film people from Florence": "أعلام أفلام من فلورنسا",
    "Film people from Frankfurt": "أعلام أفلام من فرانكفورت",
    "Film people from Freiburg im Breisgau": "أعلام أفلام من فرايبورغ",
    "Film people from Gdańsk": "أعلام أفلام من غدانسك",
    "Film people from Geneva": "أعلام أفلام من جنيف",
    "Film people from Genoa": "أعلام أفلام من جنوة",
    "Film people from Georgia (country)": "أعلام أفلام من جورجيا",
    "Film people from Glasgow": "أعلام أفلام من غلاسكو",
    "Film people from Graz": "أعلام أفلام من غراتس",
    "Film people from Gujarat": "أعلام أفلام من غوجارات",
    "Film people from Hamburg": "أعلام أفلام من هامبورغ",
    "Film people from Hanover": "أعلام أفلام من هانوفر",
    "Film people from Haryana": "أعلام أفلام من هاريانا",
    "Film people from Helsinki": "أعلام أفلام من هلسنكي",
    "Film people from Hesse": "أعلام أفلام من هسن",
    "Film people from Himachal Pradesh": "أعلام أفلام من هيماجل برديش",
    "Film people from Iași": "أعلام أفلام من ياش",
    "Film people from Innsbruck": "أعلام أفلام من إنسبروك",
    "Film people from Isfahan": "أعلام أفلام من أصفهان",
    "Film people from Istanbul": "أعلام أفلام من إسطنبول",
    "Film people from Jammu and Kashmir": "أعلام أفلام من جامو وكشمير",
    "Film people from Jerusalem": "أعلام أفلام من القدس",
    "Film people from Jharkhand": "أعلام أفلام من جهارخاند",
    "Film people from Karnataka": "أعلام أفلام من كارناتاكا",
    "Film people from Kaunas": "أعلام أفلام من كاوناس",
    "Film people from Kerala": "أعلام أفلام من كيرلا",
    "Film people from Kharkiv": "أعلام أفلام من خاركيف",
    "Film people from Kraków": "أعلام أفلام من كراكوف",
}

data_2 = {
    "Asian Film Award winners": "فائزون بجائزة الأفلام الآسيوية",
    "Zimbabwean film people": "أعلام أفلام زيمبابويون",
    "Zimbabwean film actors": "ممثلو أفلام زيمبابويون",
    "Zimbabwean film actresses": "ممثلات أفلام زيمبابويات",
    "Zimbabwean film directors": "مخرجو أفلام زيمبابويون",
    "Zimbabwean filmmakers": "صانعو أفلام زيمبابويون",
    "Zimbabwean male film actors": "ممثلو أفلام ذكور زيمبابويون",
    "Zimbabwean women film directors": "مخرجات أفلام زيمبابويات",
    "Zombie film series": "سلاسل أفلام زومبي",
    "Zombie film series navigational boxes": "صناديق تصفح سلاسل أفلام زومبي",
    "Asian film awards": "جوائز الأفلام الآسيوية",
    "Asian Film Awards": "جوائز الأفلام الآسيوية",
    "Asian Film Awards navigational boxes": "صناديق تصفح جوائز الأفلام الآسيوية",
    "Canadian women film critics": "ناقدات أفلام كنديات",
    "Canadian women film editors": "محررات أفلام كنديات",
    "Canadian women film producers": "منتجات أفلام كنديات",
}

to_test = [
    ("test_film_keys_0", data0),
    ("test_film_keys_1", data_1),
    ("test_film_keys_2", data_2),
]


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


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