"""
Tests
"""

import pytest

from ArWikiCats.legacy_bots.make_bots.get_helps import get_suffix

data_countries_from_nat = {
    "afghanistan national football team managers": ("national football team managers", "afghanistan"),
    "argentina women's international footballers": ("women's international footballers", "argentina"),
    "australia international soccer players": ("international soccer players", "australia"),
    "australia national women's wheelchair basketball team": (
        "national women's wheelchair basketball team",
        "australia",
    ),
    "canada men's international soccer players": ("men's international soccer players", "canada"),
    "england amateur international footballers": ("amateur international footballers", "england"),
    "georgia (country)": ("(country)", "georgia"),
    "georgia (u.s. state)": ("(u.s. state)", "georgia"),
    "new zealand wheelchair racers": ("wheelchair racers", "new zealand"),
    "new zealand wheelchair rugby players": ("wheelchair rugby players", "new zealand"),
    "new zealand wheelchair rugby": ("wheelchair rugby", "new zealand"),
    "south africa international soccer players": ("international soccer players", "south africa"),
    "united kingdom from aden": ("from aden", "united kingdom"),
    "united states by state": ("by state", "united states"),
}


@pytest.mark.parametrize("category, expected", data_countries_from_nat.items(), ids=lambda x: x[0])
def test_countries_from_nat(category: str, expected: tuple[str, str]) -> None:
    # Test with a valid category and nat
    result = get_suffix(category, "countries_from_nat")
    assert result == expected


def test_get_suffix() -> None:
    # Test with an empty list of keys (should return empty tuple)
    result = get_suffix("test category", "nat")
    assert isinstance(result, tuple)
    assert len(result) == 2
    assert isinstance(result[0], str)
    assert isinstance(result[1], str)


data_nat = {
    "afghan competitors": ("competitors", "afghan"),
    "afghan diplomats": ("diplomats", "afghan"),
    "afghan emigrants": ("emigrants", "afghan"),
    "afghan expatriates": ("expatriates", "afghan"),
    "african national women's football teams": ("national women's football teams", "african"),
    "africanamerican history": ("history", "africanamerican"),
    "albanian sports coaches": ("sports coaches", "albanian"),
    "american award winners": ("award winners", "american"),
    "american basketball coaches": ("basketball coaches", "american"),
    "american basketball players": ("basketball players", "american"),
    "american cinema editors": ("cinema editors", "american"),
    "american cinema": ("cinema", "american"),
    "american comics": ("comics", "american"),
    "american films": ("films", "american"),
    "american men wheelchair racers": ("men wheelchair racers", "american"),
    "american men's wheelchair basketball players": ("men's wheelchair basketball players", "american"),
    "american national softball team managers": ("national softball team managers", "american"),
    "american national softball team": ("national softball team", "american"),
    "american national softball": ("national softball", "american"),
    "american nuclear medicine physicians": ("nuclear medicine physicians", "american"),
    "american people of": ("of", "american"),
    "american people": ("people", "american"),
    "american television episodes": ("television episodes", "american"),
    "american television seasons": ("television seasons", "american"),
    "american television series basedon british television series": (
        "television series basedon british television series",
        "american",
    ),
    "american television series basedon british": ("television series basedon british", "american"),
    "american television series debuts": ("television series debuts", "american"),
    "american television series endings": ("television series endings", "american"),
    "american television series": ("television series", "american"),
    "american television": ("television", "american"),
    "american wheelchair basketball players": ("wheelchair basketball players", "american"),
    "american wheelchair curlers": ("wheelchair curlers", "american"),
    "american wheelchair curling champions": ("wheelchair curling champions", "american"),
    "american wheelchair discus throwers": ("wheelchair discus throwers", "american"),
    "american wheelchair javelin throwers": ("wheelchair javelin throwers", "american"),
    "american wheelchair racers": ("wheelchair racers", "american"),
    "american wheelchair rugby players": ("wheelchair rugby players", "american"),
    "american wheelchair shot putters": ("wheelchair shot putters", "american"),
    "american wheelchair sports competitors": ("wheelchair sports competitors", "american"),
    "american wheelchair tennis players": ("wheelchair tennis players", "american"),
    "american wheelchair track and field athletes": ("wheelchair track and field athletes", "american"),
    "american wheelchair track": ("wheelchair track", "american"),
    "american women wheelchair racers": ("women wheelchair racers", "american"),
    "argentine multi instrumentalists": ("multi instrumentalists", "argentine"),
    "argentine multi-instrumentalists": ("multi-instrumentalists", "argentine"),
    "argentine songwriters": ("songwriters", "argentine"),
    "australian internet celebrities": ("internet celebrities", "australian"),
    "australian male sprinters": ("male sprinters", "australian"),
    "australian men wheelchair racers": ("men wheelchair racers", "australian"),
    "australian men's wheelchair basketball players": ("men's wheelchair basketball players", "australian"),
    "australian open by year – wheelchair events": ("open by year – wheelchair events", "australian"),
    "australian open by year – wheelchair": ("open by year – wheelchair", "australian"),
    "australian wheelchair basketball players": ("wheelchair basketball players", "australian"),
    "australian wheelchair racers": ("wheelchair racers", "australian"),
    "australian wheelchair rugby players": ("wheelchair rugby players", "australian"),
    "australian wheelchair tennis players": ("wheelchair tennis players", "australian"),
    "australian women wheelchair racers": ("women wheelchair racers", "australian"),
    "australian women's wheelchair basketball players": ("women's wheelchair basketball players", "australian"),
    "austrian men wheelchair racers": ("men wheelchair racers", "austrian"),
    "austrian wheelchair racers": ("wheelchair racers", "austrian"),
    "belgian athletics coaches": ("athletics coaches", "belgian"),
    "belgian men wheelchair racers": ("men wheelchair racers", "belgian"),
    "belgian wheelchair racers": ("wheelchair racers", "belgian"),
    "belgian women wheelchair racers": ("women wheelchair racers", "belgian"),
    "brazilian men wheelchair racers": ("men wheelchair racers", "brazilian"),
    "brazilian wheelchair racers": ("wheelchair racers", "brazilian"),
    "brazilian women wheelchair racers": ("women wheelchair racers", "brazilian"),
    "british editorial cartoonists": ("editorial cartoonists", "british"),
    "british men wheelchair racers": ("men wheelchair racers", "british"),
    "british men's wheelchair basketball players": ("men's wheelchair basketball players", "british"),
    "british rail": ("rail", "british"),
    "british reality television series": ("reality television series", "british"),
    "british television chefs": ("television chefs", "british"),
    "british television series characters by series": ("television series characters by series", "british"),
    "british television series characters": ("television series characters", "british"),
    "british television series": ("television series", "british"),
    "british wheelchair basketball players": ("wheelchair basketball players", "british"),
    "british wheelchair curlers": ("wheelchair curlers", "british"),
    "british wheelchair racers": ("wheelchair racers", "british"),
    "british wheelchair rugby players": ("wheelchair rugby players", "british"),
    "british wheelchair shot putters": ("wheelchair shot putters", "british"),
    "british wheelchair sports competitors": ("wheelchair sports competitors", "british"),
    "british wheelchair tennis players": ("wheelchair tennis players", "british"),
    "british wheelchair track and field athletes": ("wheelchair track and field athletes", "british"),
    "british wheelchair track": ("wheelchair track", "british"),
    "british women wheelchair racers": ("women wheelchair racers", "british"),
    "british women's wheelchair basketball players": ("women's wheelchair basketball players", "british"),
    "cameroonian men's wheelchair basketball players": ("men's wheelchair basketball players", "cameroonian"),
    "cameroonian wheelchair basketball players": ("wheelchair basketball players", "cameroonian"),
    "canadian male wheelchair basketball players": ("male wheelchair basketball players", "canadian"),
    "canadian men wheelchair racers": ("men wheelchair racers", "canadian"),
    "canadian men's wheelchair basketball players": ("men's wheelchair basketball players", "canadian"),
    "canadian nuclear medicine physicians": ("nuclear medicine physicians", "canadian"),
    "canadian sports businesspeople": ("sports businesspeople", "canadian"),
    "canadian wheelchair basketball players": ("wheelchair basketball players", "canadian"),
    "canadian wheelchair curlers": ("wheelchair curlers", "canadian"),
    "canadian wheelchair curling champions": ("wheelchair curling champions", "canadian"),
    "canadian wheelchair curling championships": ("wheelchair curling championships", "canadian"),
    "canadian wheelchair racers": ("wheelchair racers", "canadian"),
    "canadian wheelchair rugby players": ("wheelchair rugby players", "canadian"),
    "canadian wheelchair sports competitors": ("wheelchair sports competitors", "canadian"),
    "canadian women wheelchair racers": ("women wheelchair racers", "canadian"),
    "canadian women's wheelchair basketball players": ("women's wheelchair basketball players", "canadian"),
    "cape verdean football managers": ("football managers", "cape verdean"),
    "celtic mythology": ("mythology", "celtic"),
    "chinese men wheelchair racers": ("men wheelchair racers", "chinese"),
    "chinese wheelchair curlers": ("wheelchair curlers", "chinese"),
    "chinese wheelchair racers": ("wheelchair racers", "chinese"),
    "chinese women wheelchair racers": ("women wheelchair racers", "chinese"),
    "croatian nuclear medicine physicians": ("nuclear medicine physicians", "croatian"),
    "czech wheelchair racers": ("wheelchair racers", "czech"),
    "danish wheelchair curlers": ("wheelchair curlers", "danish"),
    "danish wheelchair racers": ("wheelchair racers", "danish"),
    "dutch explorers": ("explorers", "dutch"),
    "dutch men wheelchair racers": ("men wheelchair racers", "dutch"),
    "dutch men's wheelchair basketball players": ("men's wheelchair basketball players", "dutch"),
    "dutch wheelchair basketball players": ("wheelchair basketball players", "dutch"),
    "dutch wheelchair racers": ("wheelchair racers", "dutch"),
    "dutch wheelchair tennis players": ("wheelchair tennis players", "dutch"),
    "dutch women wheelchair racers": ("women wheelchair racers", "dutch"),
    "dutch women's wheelchair basketball players": ("women's wheelchair basketball players", "dutch"),
    "egyptian female sport shooters": ("female sport shooters", "egyptian"),
    "egyptian male sport shooters": ("male sport shooters", "egyptian"),
    "egyptian mythology": ("mythology", "egyptian"),
    "egyptian oncologists": ("oncologists", "egyptian"),
    "egyptian sport shooters": ("sport shooters", "egyptian"),
    "emirati football": ("football", "emirati"),
    "emirati wheelchair racers": ("wheelchair racers", "emirati"),
    "english men wheelchair racers": ("men wheelchair racers", "english"),
    "english wheelchair curlers": ("wheelchair curlers", "english"),
    "english wheelchair racers": ("wheelchair racers", "english"),
    "english women wheelchair racers": ("women wheelchair racers", "english"),
    "equatoguinean female footballers": ("female footballers", "equatoguinean"),
    "ethiopian basketball players": ("basketball players", "ethiopian"),
    "european national under 21 football teams": ("national under 21 football teams", "european"),
    "european national under-21 football teams": ("national under-21 football teams", "european"),
    "european rugby union by country": ("rugby union by country", "european"),
    "european rugby union": ("rugby union", "european"),
    "european wheelchair basketball championship": ("wheelchair basketball championship", "european"),
    "european wheelchair handball nations’ tournament": ("wheelchair handball nations’ tournament", "european"),
    "european women": ("women", "european"),
    "finnish men wheelchair racers": ("men wheelchair racers", "finnish"),
    "finnish wheelchair curlers": ("wheelchair curlers", "finnish"),
    "finnish wheelchair curling champions": ("wheelchair curling champions", "finnish"),
    "finnish wheelchair racers": ("wheelchair racers", "finnish"),
    "finnish women wheelchair racers": ("women wheelchair racers", "finnish"),
    "french comic strips": ("comic strips", "french"),
    "french men wheelchair racers": ("men wheelchair racers", "french"),
    "french men's wheelchair basketball players": ("men's wheelchair basketball players", "french"),
    "french open by year – wheelchair events": ("open by year – wheelchair events", "french"),
    "french open by year – wheelchair": ("open by year – wheelchair", "french"),
    "french tennis players": ("tennis players", "french"),
    "french wheelchair basketball players": ("wheelchair basketball players", "french"),
    "french wheelchair racers": ("wheelchair racers", "french"),
    "french wheelchair tennis players": ("wheelchair tennis players", "french"),
    "french women's wheelchair basketball players": ("women's wheelchair basketball players", "french"),
    "gabonese men wheelchair racers": ("men wheelchair racers", "gabonese"),
    "gabonese wheelchair racers": ("wheelchair racers", "gabonese"),
    "german footballers": ("footballers", "german"),
    "german men wheelchair racers": ("men wheelchair racers", "german"),
    "german men's wheelchair basketball players": ("men's wheelchair basketball players", "german"),
    "german nuclear medicine physicians": ("nuclear medicine physicians", "german"),
    "german wheelchair basketball players": ("wheelchair basketball players", "german"),
    "german wheelchair curlers": ("wheelchair curlers", "german"),
    "german wheelchair racers": ("wheelchair racers", "german"),
    "german wheelchair tennis players": ("wheelchair tennis players", "german"),
    "german women's wheelchair basketball players": ("women's wheelchair basketball players", "german"),
    "icelandic male athletes": ("male athletes", "icelandic"),
    "icelandic male runners": ("male runners", "icelandic"),
    "icelandic male steeplechase runners": ("male steeplechase runners", "icelandic"),
    "indian cricketers": ("cricketers", "indian"),
    "iranian nuclear medicine physicians": ("nuclear medicine physicians", "iranian"),
    "irish football managers": ("football managers", "irish"),
    "irish men wheelchair racers": ("men wheelchair racers", "irish"),
    "irish wheelchair racers": ("wheelchair racers", "irish"),
    "irish women wheelchair racers": ("women wheelchair racers", "irish"),
    "israeli men wheelchair racers": ("men wheelchair racers", "israeli"),
    "israeli men's wheelchair basketball players": ("men's wheelchair basketball players", "israeli"),
    "israeli people of": ("of", "israeli"),
    "israeli wheelchair basketball players": ("wheelchair basketball players", "israeli"),
    "israeli wheelchair racers": ("wheelchair racers", "israeli"),
    "israeli wheelchair tennis players": ("wheelchair tennis players", "israeli"),
    "israeli women's wheelchair basketball players": ("women's wheelchair basketball players", "israeli"),
    "italian defectors to the soviet union": ("defectors to the soviet union", "italian"),
    "italian defectors": ("defectors", "italian"),
    "italian wheelchair curlers": ("wheelchair curlers", "italian"),
    "italian wheelchair racers": ("wheelchair racers", "italian"),
    "ivorian descent": ("descent", "ivorian"),
    "ivorian diaspora": ("diaspora", "ivorian"),
    "ivorian emigrants": ("emigrants", "ivorian"),
    "ivorian expatriates": ("expatriates", "ivorian"),
    "japanese men wheelchair racers": ("men wheelchair racers", "japanese"),
    "japanese men's wheelchair basketball players": ("men's wheelchair basketball players", "japanese"),
    "japanese wheelchair basketball players": ("wheelchair basketball players", "japanese"),
    "japanese wheelchair curlers": ("wheelchair curlers", "japanese"),
    "japanese wheelchair racers": ("wheelchair racers", "japanese"),
    "japanese wheelchair rugby players": ("wheelchair rugby players", "japanese"),
    "japanese wheelchair tennis players": ("wheelchair tennis players", "japanese"),
    "japanese women wheelchair racers": ("women wheelchair racers", "japanese"),
    "kuwaiti men's wheelchair basketball players": ("men's wheelchair basketball players", "kuwaiti"),
    "kuwaiti wheelchair basketball players": ("wheelchair basketball players", "kuwaiti"),
    "kuwaiti wheelchair racers": ("wheelchair racers", "kuwaiti"),
    "latvian wheelchair curlers": ("wheelchair curlers", "latvian"),
    "lithuanian wheelchair racers": ("wheelchair racers", "lithuanian"),
    "macedonian wheelchair racers": ("wheelchair racers", "macedonian"),
    "mexican men wheelchair racers": ("men wheelchair racers", "mexican"),
    "mexican wheelchair racers": ("wheelchair racers", "mexican"),
    "mexican women wheelchair racers": ("women wheelchair racers", "mexican"),
    "moroccan competitors": ("competitors", "moroccan"),
    "moroccan male middle distance runners": ("male middle distance runners", "moroccan"),
    "moroccan male middle-distance runners": ("male middle-distance runners", "moroccan"),
    "north korean sport": ("sport", "north korean"),
    "north korean television": ("television", "north korean"),
    "northern ireland descent": ("descent", "northern ireland"),
    "norwegian figure skaters": ("figure skaters", "norwegian"),
    "norwegian male pair skaters": ("male pair skaters", "norwegian"),
    "norwegian male single skaters": ("male single skaters", "norwegian"),
    "norwegian pair skaters": ("pair skaters", "norwegian"),
    "norwegian short track speed skaters": ("short track speed skaters", "norwegian"),
    "norwegian wheelchair curlers": ("wheelchair curlers", "norwegian"),
    "norwegian wheelchair racers": ("wheelchair racers", "norwegian"),
    "omani football": ("football", "omani"),
    "pakistani psychiatrists": ("psychiatrists", "pakistani"),
    "peruvian television actors": ("television actors", "peruvian"),
    "philippine films": ("films", "philippine"),
    "polish businesspeople": ("businesspeople", "polish"),
    "polish wheelchair racers": ("wheelchair racers", "polish"),
    "polish women": ("women", "polish"),
    "portuguese healthcare managers": ("healthcare managers", "portuguese"),
    "puerto rican wheelchair sports competitors": ("wheelchair sports competitors", "puerto rican"),
    "puerto rican wheelchair track and field athletes": ("wheelchair track and field athletes", "puerto rican"),
    "puerto rican wheelchair track": ("wheelchair track", "puerto rican"),
    "republic-of ireland football managers": ("football managers", "republic-of ireland"),
    "russian folklore characters": ("folklore characters", "russian"),
    "russian wheelchair curlers": ("wheelchair curlers", "russian"),
    "russian wheelchair racers": ("wheelchair racers", "russian"),
    "sammarinese wheelchair racers": ("wheelchair racers", "sammarinese"),
    "scottish popular culture": ("popular culture", "scottish"),
    "scottish traditions": ("traditions", "scottish"),
    "scottish wheelchair curlers": ("wheelchair curlers", "scottish"),
    "scottish wheelchair curling champions": ("wheelchair curling champions", "scottish"),
    "scottish wheelchair racers": ("wheelchair racers", "scottish"),
    "scottish women wheelchair racers": ("women wheelchair racers", "scottish"),
    "slovak wheelchair curlers": ("wheelchair curlers", "slovak"),
    "south african men wheelchair racers": ("men wheelchair racers", "south african"),
    "south african wheelchair basketball players": ("wheelchair basketball players", "south african"),
    "south african wheelchair racers": ("wheelchair racers", "south african"),
    "south american pan africanists": ("pan africanists", "south american"),
    "south american pan-africanists": ("pan-africanists", "south american"),
    "south korean television series": ("television series", "south korean"),
    "south korean wheelchair curlers": ("wheelchair curlers", "south korean"),
    "south korean wheelchair racers": ("wheelchair racers", "south korean"),
    "spanish men's wheelchair basketball players": ("men's wheelchair basketball players", "spanish"),
    "spanish sports broadcasters": ("sports broadcasters", "spanish"),
    "spanish wheelchair basketball players": ("wheelchair basketball players", "spanish"),
    "spanish wheelchair fencers": ("wheelchair fencers", "spanish"),
    "spanish wheelchair racers": ("wheelchair racers", "spanish"),
    "spanish wheelchair tennis players": ("wheelchair tennis players", "spanish"),
    "swedish oncologists": ("oncologists", "swedish"),
    "swedish wheelchair curlers": ("wheelchair curlers", "swedish"),
    "swedish wheelchair curling champions": ("wheelchair curling champions", "swedish"),
    "swedish wheelchair racers": ("wheelchair racers", "swedish"),
    "swedish wheelchair tennis players": ("wheelchair tennis players", "swedish"),
    "swiss men wheelchair racers": ("men wheelchair racers", "swiss"),
    "swiss men's wheelchair basketball players": ("men's wheelchair basketball players", "swiss"),
    "swiss wheelchair basketball players": ("wheelchair basketball players", "swiss"),
    "swiss wheelchair curlers": ("wheelchair curlers", "swiss"),
    "swiss wheelchair curling champions": ("wheelchair curling champions", "swiss"),
    "swiss wheelchair curling championship": ("wheelchair curling championship", "swiss"),
    "swiss wheelchair racers": ("wheelchair racers", "swiss"),
    "swiss wheelchair tennis players": ("wheelchair tennis players", "swiss"),
    "swiss women wheelchair racers": ("women wheelchair racers", "swiss"),
    "thai wheelchair racers": ("wheelchair racers", "thai"),
    "thai wheelchair tennis players": ("wheelchair tennis players", "thai"),
    "tunisian wheelchair racers": ("wheelchair racers", "tunisian"),
    "turkish expatriate sports-people": ("expatriate sports-people", "turkish"),
    "turkish men's wheelchair basketball players": ("men's wheelchair basketball players", "turkish"),
    "turkish wheelchair basketball players": ("wheelchair basketball players", "turkish"),
    "turkish wheelchair racers": ("wheelchair racers", "turkish"),
    "turkish wheelchair tennis players": ("wheelchair tennis players", "turkish"),
    "turkish women wheelchair racers": ("women wheelchair racers", "turkish"),
    "turkish women's wheelchair basketball players": ("women's wheelchair basketball players", "turkish"),
    "ugandan football": ("football", "ugandan"),
    "welsh men wheelchair racers": ("men wheelchair racers", "welsh"),
    "welsh wheelchair curlers": ("wheelchair curlers", "welsh"),
    "welsh wheelchair racers": ("wheelchair racers", "welsh"),
    "welsh women wheelchair racers": ("women wheelchair racers", "welsh"),
    "yemeni football teams": ("football teams", "yemeni"),
    "yemeni national football team managers": ("national football team managers", "yemeni"),
    "yemeni national football team": ("national football team", "yemeni"),
    "yemeni national football teams": ("national football teams", "yemeni"),
    "yemeni national football": ("national football", "yemeni"),
    "yemeni national softball team managers": ("national softball team managers", "yemeni"),
    "yemeni national softball team": ("national softball team", "yemeni"),
    "yemeni national softball": ("national softball", "yemeni"),
    "yemeni shi'a muslims": ("shi'a muslims", "yemeni"),
    "zambian wheelchair racers": ("wheelchair racers", "zambian"),
}


@pytest.mark.parametrize("category, expected", data_nat.items(), ids=lambda x: x[0])
def test_nat(category: str, expected: tuple[str, str]) -> None:
    # Test with a valid category and nat
    result = get_suffix(category, "nat")
    assert result == expected
