"""
"""
import pytest

from ArWikiCats.format_bots.pf_keys import change_key_mappings_replacements

data1 = {
    "africa cup of nations": "africa cup-of-nations",
    "african-american muslims": "africanamerican muslims",
    "amphibious warfare vessels of islamic republic of iran navy": "amphibious warfare vessels of islamic republic-of iran navy",
    "auxiliary ships of islamic republic of iran navy": "auxiliary ships of islamic republic-of iran navy",
    "category:2016 women's africa cup of nations squad navigational boxes": "category:2016 women's africa cup-of-nations squad navigational boxes",
    "category:2016 women's africa cup of nations": "category:2016 women's africa cup-of-nations",
    "category:2017 american television seasons": "category:2017 american television-seasons",
    "category:2017 american television series debuts": "category:2017 american television series-debuts",
    "category:2017 american television series endings": "category:2017 american television series-endings",
    "category:2018 women's africa cup of nations squad navigational boxes": "category:2018 women's africa cup-of-nations squad navigational boxes",
    "category:2018 women's africa cup of nations": "category:2018 women's africa cup-of-nations",
    "category:2022 women's africa cup of nations players": "category:2022 women's africa cup-of-nations players",
    "category:2022 women's africa cup of nations squad navigational boxes": "category:2022 women's africa cup-of-nations squad navigational boxes",
    "category:2022 women's africa cup of nations": "category:2022 women's africa cup-of-nations",
    "category:2024 women's africa cup of nations players": "category:2024 women's africa cup-of-nations players",
    "category:2024 women's africa cup of nations": "category:2024 women's africa cup-of-nations",
    "category:adaptations of works by greek writers": "category:adaptations-of-works by greek writers",
    "category:adaptations of works by irish writers": "category:adaptations-of-works by irish writers",
    "category:adaptations of works by italian writers": "category:adaptations-of-works by italian writers",
    "category:african-american coaches of canadian football": "category:africanamerican coaches of canadian-football",
    "category:african-american history by state": "category:africanamerican history by state",
    "category:african-american non-fiction writers": "category:africanamerican non-fiction writers",
    "category:ambassadors of federated states of micronesia in yemen by year": "category:ambassadors of federated states-of micronesia in yemen by year",
    "category:american players of canadian football by populated place": "category:american players of canadian-football by populated place",
    "category:american players of canadian football by state": "category:american players of canadian-football by state",
    "category:american players of canadian football": "category:american players of canadian-football",
    "category:australian players of canadian football": "category:australian players of canadian-football",
    "category:bahamian players of canadian football": "category:bahamian players of canadian-football",
    "category:bodies of water of carmarthenshire": "category:bodies-of-water of carmarthenshire",
    "category:bodies of water of germany by state": "category:bodies-of-water of germany by state",
    "category:cameroonian players of canadian football": "category:cameroonian players of canadian-football",
    "category:canadian football by city": "category:canadian-football by city",
    "category:canadian football by country": "category:canadian-football by country",
    "category:canadian football people from windsor, ontario": "category:canadian-football people from windsor, ontario",
    "category:canadian football people from winnipeg": "category:canadian-football people from winnipeg",
    "category:canadian football people": "category:canadian-football people",
    "category:canadian football placekickers": "category:canadian-football placekickers",
    "category:canadian football players in edmonton": "category:canadian-football playerss in edmonton",
    "category:canadian football quarterbacks": "category:canadian-football quarterbacks",
    "category:canadian football running backs": "category:canadian-football running backs",
    "category:canadian football scouts": "category:canadian-football scouts",
    "category:cuban players of canadian football": "category:cuban players of canadian-football",
    "category:deaths by american airstrikes during world war ii": "category:deaths by american airstrikes during world-war-ii",
    "category:deaths by car bomb by country": "category:deaths by-car-bomb by country",
    "category:deaths by car bomb in afghanistan": "category:deaths by-car-bomb in afghanistan",
    "category:deaths by car bomb in england": "category:deaths by-car-bomb in england",
    "category:deaths by firearm in afghanistan": "category:deaths by-firearm-in afghanistan",
    "category:deaths by firearm in alabama": "category:deaths by-firearm-in alabama",
    "category:deaths by firearm in alaska": "category:deaths by-firearm-in alaska",
    "category:deaths by firearm in wisconsin": "category:deaths by-firearm-in wisconsin",
    "category:deaths by firearm in yugoslavia": "category:deaths by-firearm-in yugoslavia",
    "category:deaths by firearm in zimbabwe": "category:deaths by-firearm-in zimbabwe",
    "category:deaths from brain cancer in northern ireland": "category:deaths from brain cancer in northern-ireland",
    "category:deaths from brain cancer in republic of ireland": "category:deaths from brain cancer in republic-of ireland",
    "category:deaths from cancer in federated states of micronesia": "category:deaths from cancer in federated states-of micronesia",
    "category:deaths from cancer in isle of man": "category:deaths from cancer in isle-of man",
    "category:deaths from cancer in northern ireland": "category:deaths from cancer in northern-ireland",
    "category:deaths from cancer in people's republic of china": "category:deaths from cancer in people's republic-of china",
    "category:deaths from cancer in republic of ireland": "category:deaths from cancer in republic-of ireland",
    "category:deaths from covid-19 pandemic in northern ireland": "category:deaths from covid-19 pandemic in northern-ireland",
    "category:deaths from lung cancer in northern ireland": "category:deaths from lung cancer in northern-ireland",
    "category:deaths from lung cancer in people's republic of china": "category:deaths from lung cancer in people's republic-of china",
    "category:deaths from lung cancer in republic of ireland": "category:deaths from lung cancer in republic-of ireland",
    "category:deaths from pneumonia in people's republic of china": "category:deaths from pneumonia in people's republic-of china",
    "category:deaths from pneumonia in republic of ireland": "category:deaths from pneumonia in republic-of ireland",
    "category:democratic-republic-of-congo players of canadian football": "category:democratic-republic-of-congo players of canadian-football",
    "category:dominican republic players of canadian football": "category:dominican republic players of canadian-football",
    "category:english players of canadian football": "category:english players of canadian-football",
    "category:expatriate women's futsal players in kuwait": "category:expatriate women's futsal playerss in kuwait",
    "category:expatriate women's futsal players in maldives": "category:expatriate women's futsal playerss in maldives",
    "category:female handball players in turkey by club": "category:female handball playerss in turkey by club",
    "category:georgia (u.s. state) attorney general elections": "category:georgia (u.s. state) attorney general-elections",
    "category:georgia (u.s. state) labor commissioners": "category:georgia (u.s. state) labour commissioners",
    "category:georgia (u.s. state) presidential primaries": "category:georgia (u.s. state) presidential-primaries",
    "category:guyanese players of canadian football": "category:guyanese players of canadian-football",
    "category:honduran players of canadian football": "category:honduran players of canadian-football",
    "category:jamaican players of canadian football": "category:jamaican players of canadian-football",
    "category:lebanese players of canadian football": "category:lebanese players of canadian-football",
    "category:ministers for foreign affairs of abkhazia": "category:ministers-for foreign affairs of abkhazia",
    "category:ministers for foreign affairs of luxembourg": "category:ministers-for foreign affairs of luxembourg",
    "category:ministers for foreign affairs of singapore": "category:ministers-for foreign affairs of singapore",
    "category:ministers for internal affairs of abkhazia": "category:ministers-for internal affairs of abkhazia",
    "category:ministers for public works of luxembourg": "category:ministers-for public works of luxembourg",
    "category:ministers of labour and social security of turkey": "category:ministers of labour-and-social security of turkey",
    "category:national register of historic places in westchester county, new york": "category:national-register-of-historic-places in westchester county, new york",
    "category:nigerian players of canadian football": "category:nigerian players of canadian-football",
    "category:non-profit organizations based in northern ireland": "category:non-profit organizations based in northern-ireland",
    "category:non-profit organizations based in republic of ireland": "category:non-profit organizations based in republic-of ireland",
    "category:panamanian players of canadian football": "category:panamanian players of canadian-football",
    "category:players of canadian football by nationality": "category:players of canadian-football by nationality",
    "category:players of canadian football by position": "category:players of canadian-football by position",
    "category:players of canadian football": "category:players of canadian-football",
    "category:puerto rican players of canadian football": "category:puerto rican players of canadian-football",
    "category:republic of ireland association football leagues": "category:republic-of ireland association football leagues",
    "category:republic of ireland women's international rugby union players": "category:republic-of ireland women's international rugby union players",
    "category:republic of ireland women's youth international footballers": "category:republic-of ireland women's youth international footballers",
    "category:samoan players of canadian football": "category:samoan players of canadian-football",
    "category:saudi arabian non-fiction writers": "category:saudiarabian non-fiction writers",
    "category:secretaries-of labor and employment of philippines": "category:secretaries-of labour and employment of philippines",
    "category:secretaries-of labor of mexico": "category:secretaries-of labour of mexico",
    "category:sierra leonean players of canadian football": "category:sierra leonean players of canadian-football",
    "category:television series endings by year": "category:television series-endings by year",
    "category:united states deputy secretaries-of labor": "category:united states deputy secretaries-of labour",
    "category:united states secretaries-of labor": "category:united states secretaries-of labour",
    "category:venezuelan players of canadian football": "category:venezuelan players of canadian-football",
    "category:wheelchair basketball players in 2020 parapan american games": "category:wheelchair basketball playerss in 2020 parapan american games",
    "category:wheelchair basketball players in 2020 summer paralympics": "category:wheelchair basketball playerss in 2020 summer paralympics",
    "category:wheelchair basketball players in turkey by team": "category:wheelchair basketball playerss in turkey by team",
    "category:wheelchair rugby players in 2020 parapan american games": "category:wheelchair rugby playerss in 2020 parapan american games",
    "category:wheelchair rugby players in 2020 summer paralympics": "category:wheelchair rugby playerss in 2020 summer paralympics",
    "category:wheelchair tennis players in 2020 asian para games": "category:wheelchair tennis playerss in 2020 asian para games",
    "category:wheelchair tennis players in 2020 parapan american games": "category:wheelchair tennis playerss in 2020 parapan american games",
    "category:wheelchair tennis players in 2020 summer paralympics": "category:wheelchair tennis playerss in 2020 summer paralympics",
    "category:women singers from kingdom of prussia": "category:women singers from kingdom-of prussia",
    "category:women's africa cup of nations players": "category:women's africa cup-of-nations players",
    "category:women's africa cup of nations qualification": "category:women's africa cup-of-nations qualification",
    "category:women's africa cup of nations tournaments": "category:women's africa cup-of-nations tournaments",
    "category:women's africa cup of nations": "category:women's africa cup-of-nations",
    "destroyers of islamic republic of iran navy": "destroyers of islamic republic-of iran navy",
    "frigates of islamic republic of iran navy": "frigates of islamic republic-of iran navy",
    "kingdom of hungary in middle ages": "kingdom-of hungary in middle ages",
    "mine warfare vessels of islamic republic of iran navy": "mine warfare vessels of islamic republic-of iran navy",
    "missile boats of islamic republic of iran navy": "missile boats of islamic republic-of iran navy",
    "saudi arabian muslims": "saudiarabian muslims",
    "ship classes of islamic republic of iran navy": "ship classes of islamic republic-of iran navy",
    "ships of islamic republic of iran navy": "ships of islamic republic-of iran navy",
    "submarines of islamic republic of iran navy": "submarines of islamic republic-of iran navy",
    "women in federated states of micronesia": "women in federated states-of micronesia",
}

data2 = {
    "archery at 2004 summer olympics": "archery in 2004 summer olympics",
    "category:100 metres at african championships in athletics": "category:100 metres in african championships in athletics",
    "category:100 metres at iaaf world youth championships in athletics": "category:100 metres in iaaf world youth championships in athletics",
    "category:100 metres at world para athletics championships": "category:100 metres in world para athletics championships",
    "category:argentina at universiade": "category:argentina in universiade",
    "category:argentina at winter olympics": "category:argentina in winter olympics",
    "category:arizona house of representatives": "category:arizona house-of-representatives",
    "category:athletics at summer universiade navigational boxes": "category:athletics in summer universiade navigational boxes",
    "category:athletics at universiade navigational boxes": "category:athletics in universiade navigational boxes",
    "category:australia at summer universiade": "category:australia in summer universiade",
    "category:cape verde at paralympics": "category:cape verde in paralympics",
    "category:cross-country skiers at 1992 winter paralympics": "category:cross-country skiers in 1992 winter paralympics",
    "category:equatoguinean women's footballers": "category:equatoguinean female footballers",
    "category:expatriate association football managers by country of residence": "category:expatriate association football managers by country-of-residence",
    "category:figure skaters at 2002 winter olympics": "category:figure skaters in 2002 winter olympics",
    "category:figure skaters at 2003 asian winter games": "category:figure skaters in 2003 asian winter games",
    "category:figure skaters at 2007 winter universiade": "category:figure skaters in 2007 winter universiade",
    "category:film set at metropolitan museum of art": "category:film set in metropolitan museum of art",
    "category:game of thrones (season 1) episodes": "category:game-of-thrones (season 1) episodes",
    "category:georgia (u.s. state) house of representatives": "category:georgia (u.s. state) house-of-representatives",
    "category:internees at sheberghan prison": "category:internees in sheberghan prison",
    "category:iowa house of representatives": "category:iowa house-of-representatives",
    "category:montana house of representatives": "category:montana house-of-representatives",
    "category:multi-sport events at yemen": "category:multi-sport events in yemen",
    "category:nations at 2010 summer youth olympics": "category:nations in 2010 summer youth olympics",
    "category:nations at universiade": "category:nations in universiade",
    "category:nebraska house of representatives": "category:nebraska house-of-representatives",
    "category:new mexico house of representatives": "category:new mexico house-of-representatives",
    "category:roller skaters at 2003 pan american games": "category:roller skaters in 2003 pan american games",
    "category:schools for deaf in new york (state)": "category:schools for-deaf in new york (state)",
    "category:ski jumpers at 2007 winter universiade": "category:ski jumpers in 2007 winter universiade",
    "category:ski jumping at winter universiade": "category:ski jumping in winter universiade",
    "category:sports at summer universiade": "category:sports in summer universiade",
    "category:water polo at summer universiade": "category:water polo in summer universiade",
    "category:wheelchair basketball at 2020 asean para games": "category:wheelchair basketball in 2020 asean para games",
    "category:wheelchair basketball at 2020 parapan american games": "category:wheelchair basketball in 2020 parapan american games",
    "category:wheelchair basketball at 2020 summer paralympics": "category:wheelchair basketball in 2020 summer paralympics",
    "category:wheelchair basketball at asean para games": "category:wheelchair basketball in asean para games",
    "category:wheelchair basketball at asian para games": "category:wheelchair basketball in asian para games",
    "category:wheelchair basketball at multi-sport events": "category:wheelchair basketball in multi-sport events",
    "category:wheelchair basketball at parapan american games": "category:wheelchair basketball in parapan american games",
    "category:wheelchair basketball at summer paralympics navigational boxes": "category:wheelchair basketball in summer paralympics navigational boxes",
    "category:wheelchair basketball at summer paralympics": "category:wheelchair basketball in summer paralympics",
    "category:wheelchair basketball players at 2020 parapan american games": "category:wheelchair basketball players in 2020 parapan american games",
    "category:wheelchair basketball players at 2020 summer paralympics": "category:wheelchair basketball players in 2020 summer paralympics",
    "category:wheelchair curlers at 2020 winter paralympics": "category:wheelchair curlers in 2020 winter paralympics",
    "category:wheelchair curling at 2020 winter paralympics": "category:wheelchair curling in 2020 winter paralympics",
    "category:wheelchair curling at winter paralympics": "category:wheelchair curling in winter paralympics",
    "category:wheelchair fencers at 2020 summer paralympics": "category:wheelchair fencers in 2020 summer paralympics",
    "category:wheelchair fencing at 2020 asean para games": "category:wheelchair fencing in 2020 asean para games",
    "category:wheelchair fencing at 2020 summer paralympics": "category:wheelchair fencing in 2020 summer paralympics",
    "category:wheelchair fencing at asean para games": "category:wheelchair fencing in asean para games",
    "category:wheelchair fencing at summer paralympics navigational boxes": "category:wheelchair fencing in summer paralympics navigational boxes",
    "category:wheelchair fencing at summer paralympics": "category:wheelchair fencing in summer paralympics",
    "category:wheelchair racers at 2020 summer olympics": "category:wheelchair racers in 2020 summer olympics",
    "category:wheelchair racing at summer olympics": "category:wheelchair racing in summer olympics",
    "category:wheelchair rugby at 2020 parapan american games": "category:wheelchair rugby in 2020 parapan american games",
    "category:wheelchair rugby at 2020 summer paralympics": "category:wheelchair rugby in 2020 summer paralympics",
    "category:wheelchair rugby at 2020 world games": "category:wheelchair rugby in 2020 world games",
    "category:wheelchair rugby at parapan american games": "category:wheelchair rugby in parapan american games",
    "category:wheelchair rugby at summer paralympics": "category:wheelchair rugby in summer paralympics",
    "category:wheelchair rugby at world games": "category:wheelchair rugby in world games",
    "category:wheelchair rugby players at 2020 parapan american games": "category:wheelchair rugby players in 2020 parapan american games",
    "category:wheelchair rugby players at 2020 summer paralympics": "category:wheelchair rugby players in 2020 summer paralympics",
    "category:wheelchair tennis at 2020 asean para games": "category:wheelchair tennis in 2020 asean para games",
    "category:wheelchair tennis at 2020 parapan american games": "category:wheelchair tennis in 2020 parapan american games",
    "category:wheelchair tennis at 2020 summer paralympics": "category:wheelchair tennis in 2020 summer paralympics",
    "category:wheelchair tennis at asean para games": "category:wheelchair tennis in asean para games",
    "category:wheelchair tennis at asian para games": "category:wheelchair tennis in asian para games",
    "category:wheelchair tennis at multi-sport events": "category:wheelchair tennis in multi-sport events",
    "category:wheelchair tennis at parapan american games": "category:wheelchair tennis in parapan american games",
    "category:wheelchair tennis at summer paralympics navigational boxes": "category:wheelchair tennis in summer paralympics navigational boxes",
    "category:wheelchair tennis at summer paralympics": "category:wheelchair tennis in summer paralympics",
    "category:wheelchair tennis players at 2020 asian para games": "category:wheelchair tennis players in 2020 asian para games",
    "category:wheelchair tennis players at 2020 parapan american games": "category:wheelchair tennis players in 2020 parapan american games",
    "category:wheelchair tennis players at 2020 summer paralympics": "category:wheelchair tennis players in 2020 summer paralympics",
    "category:wisconsin house of representatives": "category:wisconsin house-of-representatives",
    "first league of serbia and montenegro": "first league of serbia-and-montenegro",
    "synchronized swimming at 2004 summer olympics": "synchronized swimming in 2004 summer olympics",
    "taekwondo at 2004 summer olympics": "taekwondo in 2004 summer olympics",
    "taekwondo at 2021 islamic solidarity games": "taekwondo in 2021 islamic solidarity games",
    "taekwondo at islamic solidarity games": "taekwondo in islamic solidarity games",
    "tour de france": "tour of france",
    "triathlon at 2004 summer olympics": "triathlon in 2004 summer olympics",
    "water polo at world aquatics championships": "water polo in world aquatics championships",
    "wrestling at 2004 summer olympics": "wrestling in 2004 summer olympics",
}


based_data = {
    "category:american films based on british films": "category:american films basedon british films",
    "category:lithuanian films based on non-lithuanian films": "category:lithuanian films basedon non-lithuanian films",
    "category:malaysian films based on non-malaysian films": "category:malaysian films basedon non-malaysian films",
    "category:mexican films based on non-mexican films": "category:mexican films basedon non-mexican films",
    "category:non-american films based on american films": "category:non-american films basedon american films",
    "category:non-argentine films based on argentine films": "category:non-argentine films basedon argentine films",
    "category:non-australian films based on australian films": "category:non-australian films basedon australian films",
    "category:non-british films based on british films": "category:non-british films basedon british films",
    "category:non-canadian films based on canadian films": "category:non-canadian films basedon canadian films",
    "category:non-colombian films based on colombian films": "category:non-colombian films basedon colombian films",
    "category:non-french films based on french films": "category:non-french films basedon french films",
    "category:vietnamese films based on non-vietnamese films": "category:vietnamese films basedon non-vietnamese films",
    "category:works based on non-fiction books": "category:works basedon non-fiction books",
}


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


@pytest.mark.parametrize("category, expected", based_data.items(), ids=based_data.keys())
def test_based_data(category: str, expected: str) -> None:
    assert change_key_mappings_replacements(category) == expected
