# -*- coding: utf-8 -*-
"""Pytest move_years"""

from ArWikiCats.fix.mv_years import move_years


def load_test_move_years(data: dict) -> None:
    diff_list = []
    same = 0
    for title, expected in data.items():
        result = move_years(title)
        if result != expected:
            diff_list.append({"input": title, "actual": result, "expected": expected})
        else:
            assert result == expected
            same += 1
    len_diff_list = len(diff_list)
    print(f"<<green>> {len_diff_list=}, {same=}.")

    if len_diff_list:
        diff_details = "\n".join(str(entry) for entry in diff_list)
        raise AssertionError(f"Found {len_diff_list} transformation mismatches: {diff_details}")


def test_fixlab_group_1() -> None:
    data = {
        "2010 في الرياضة في آيوا": "الرياضة في آيوا في 2010",
        "2010 في الرياضة في أريزونا": "الرياضة في أريزونا في 2010",
        "2020 في الرياضة في ألاباما": "الرياضة في ألاباما في 2020",
        "2020 في الرياضة في أوريغن": "الرياضة في أوريغن في 2020",
        "2020 في الرياضة في أوكلاهوما": "الرياضة في أوكلاهوما في 2020",
        "2020 في الرياضة في يوتا": "الرياضة في يوتا في 2020",
        "عقد 2010 في الرياضة في أوريغن": "الرياضة في أوريغن في عقد 2010",
    }
    load_test_move_years(data)


def test_fixlab_group_2() -> None:
    data = {
        "القرن 20 في الرياضة في إلينوي": "الرياضة في إلينوي في القرن 20",
        "القرن 20 في الرياضة في بنسلفانيا": "الرياضة في بنسلفانيا في القرن 20",
        "القرن 20 في الرياضة في رود آيلاند": "الرياضة في رود آيلاند في القرن 20",
        "القرن 20 في الرياضة في مدينة نيويورك": "الرياضة في مدينة نيويورك في القرن 20",
        "القرن 20 في الرياضة في ولاية نيويورك": "الرياضة في ولاية نيويورك في القرن 20",
        "القرن 20 في الرياضة في آيوا": "الرياضة في آيوا في القرن 20",
        "القرن 20 في الرياضة في أريزونا": "الرياضة في أريزونا في القرن 20",
        "القرن 20 في الرياضة في نيفادا": "الرياضة في نيفادا في القرن 20",
        "القرن 20 في الرياضة في نيومكسيكو": "الرياضة في نيومكسيكو في القرن 20",
        "القرن 20 في الرياضة في ولاية واشنطن": "الرياضة في ولاية واشنطن في القرن 20",
        "القرن 20 في الرياضة في ويسكونسن": "الرياضة في ويسكونسن في القرن 20",
        "القرن 20 في الرياضة في يوتا": "الرياضة في يوتا في القرن 20",
    }
    load_test_move_years(data)


def test_fixlab_group_3() -> None:
    data = {
        "عقد 1980 ق م في العراق": "العراق في عقد 1980 ق م",
        "عقد 1990 في السعودية": "السعودية في عقد 1990",
        "عقد 2010 في جنوب إفريقيا": "جنوب إفريقيا في عقد 2010",
        "عقد 2010 ق م في جنوب إفريقيا": "جنوب إفريقيا في عقد 2010 ق م",
        "عقد 2020 حسب المدينة والبلد في مجتمع في مدريد": "عقد 2020 حسب المدينة والبلد في مجتمع في مدريد",
        "عقد 2020 في ألعاب رياضية في أركنساس": "ألعاب رياضية في أركنساس في عقد 2020",
        "عقد 2020 في ألعاب رياضية في إلينوي": "ألعاب رياضية في إلينوي في عقد 2020",
        "عقد 2020 في الرياضة في آيوا": "الرياضة في آيوا في عقد 2020",
        "عقد 2020 في الرياضة في تينيسي": "الرياضة في تينيسي في عقد 2020",
        "عقد 2020 في الرياضة في رود آيلاند": "الرياضة في رود آيلاند في عقد 2020",
        "عقد 2020 في الرياضة في فرجينيا": "الرياضة في فرجينيا في عقد 2020",
        "عقد 2020 في الرياضة في فلوريدا": "الرياضة في فلوريدا في عقد 2020",
        "عقد 2020 في الرياضة في كارولاينا الشمالية": "الرياضة في كارولاينا الشمالية في عقد 2020",
        "عقد 2020 في الرياضة في كاليفورنيا": "الرياضة في كاليفورنيا في عقد 2020",
    }
    load_test_move_years(data)


def test_fixlab_group_4() -> None:
    data = {
        "عقد 2020 في الرياضة في كنتاكي": "الرياضة في كنتاكي في عقد 2020",
        "عقد 2020 في الرياضة في مدينة نيويورك": "الرياضة في مدينة نيويورك في عقد 2020",
        "عقد 2020 في الرياضة في وايومنغ": "الرياضة في وايومنغ في عقد 2020",
        "عقد 2020 في الرياضة في ولاية جورجيا": "الرياضة في ولاية جورجيا في عقد 2020",
        "عقد 2020 في الرياضة في ويسكونسن": "الرياضة في ويسكونسن في عقد 2020",
        "عقد 2020 في الرياضة في يوتا": "الرياضة في يوتا في عقد 2020",
        "عقد 2020 في مجتمع في مدريد حسب المدينة والبلد": "مجتمع في مدريد في عقد 2020 حسب المدينة والبلد",
        "عقد 2020 في مجتمع في مدريد": "مجتمع في مدريد في عقد 2020",
    }
    load_test_move_years(data)


def test_fixlab_group_5() -> None:
    data = {
        "1881 في الرياضة في رود آيلاند": "الرياضة في رود آيلاند في 1881",
        "1974–75 في دوريات كرة قدم لبنانية": "دوريات كرة قدم لبنانية في 1974–75",
        "1989 في اتحاد الرجبي حسب البلد": "اتحاد الرجبي في 1989 حسب البلد",
        "1995 في الإمارات": "الإمارات في 1995",
        "2020 في ألعاب رياضية في أركنساس": "ألعاب رياضية في أركنساس في 2020",
        "2020 في ألعاب رياضية في ألاباما": "ألعاب رياضية في ألاباما في 2020",
        "2020 في ألعاب رياضية في إلينوي": "ألعاب رياضية في إلينوي في 2020",
        "2020 في ألعاب رياضية في تكساس": "ألعاب رياضية في تكساس في 2020",
        "2020 في ألعاب رياضية في فلوريدا": "ألعاب رياضية في فلوريدا في 2020",
        "2020 في ألعاب رياضية في نيفادا": "ألعاب رياضية في نيفادا في 2020",
        "2020 في جنوب إفريقيا": "جنوب إفريقيا في 2020",
        "2020 في مجتمع في مدريد": "مجتمع في مدريد في 2020",
        "2020 في مصارعة المحترفين في فلوريدا": "مصارعة المحترفين في فلوريدا في 2020",
        "2020 في مناطق حضرية في لوس أنجلوس": "مناطق حضرية في لوس أنجلوس في 2020",
        "2020 في مولدوفا": "مولدوفا في 2020",
        "2020 ق م في جنوب إفريقيا": "جنوب إفريقيا في 2020 ق م",
        "آسيا حسب المدينة في القرن 17": "آسيا في القرن 17 حسب المدينة",
        "آسيا حسب المدينة في عقد 2020": "آسيا في عقد 2020 حسب المدينة",
        "أذربيجانيون حسب المهنة في القرن 20": "أذربيجانيون في القرن 20 حسب المهنة",
        "أشخاص أمريكيون شماليون حسب الجنسية في القرن 17": "أشخاص أمريكيون شماليون في القرن 17 حسب الجنسية",
        "أشخاص حسب النزاع في القرن 5 ق م": "أشخاص في القرن 5 ق م حسب النزاع",
        "الألفية 1 في اليمن": "اليمن في الألفية 1",
        "التلفاز في السويد حسب السنة": "التلفاز في السويد حسب السنة",
        "القرن 17 في أشخاص أمريكيون شماليون حسب الجنسية": "أشخاص أمريكيون شماليون في القرن 17 حسب الجنسية",
        "القرن 20 في مصر": "مصر في القرن 20",
        "القرن 20 ق م في مصر": "مصر في القرن 20 ق م",
        "القرن 21 أشخاص من العراق العثماني حسب المهنة": "القرن 21 أشخاص من العراق العثماني حسب المهنة",
        "القرن 21 في الأردن": "الأردن في القرن 21",
        "القرن 21 في جنوب إفريقيا": "جنوب إفريقيا في القرن 21",
        "القرن 21 في يونانيون في حسب المهنة": "يونانيون في القرن 21 حسب المهنة",
        "المرأة حسب المهنة والجنسية في القرن 19": "المرأة في القرن 19 حسب المهنة والجنسية",
        "المرأة في القرن 19 حسب المهنة والجنسية": "المرأة في القرن 19 حسب المهنة والجنسية",
        "رياضة حسب القارة في عقد 1940": "رياضة في عقد 1940 حسب القارة",
        "فلاسفة فرنسيون في القرن 20": "فلاسفة فرنسيون في القرن 20",
        "فنانون ذكور حسب الجنسية 2020": "فنانون ذكور حسب الجنسية 2020",
        "فنانون ذكور حسب الجنسية القرن 20": "فنانون ذكور حسب الجنسية القرن 20",
        "قضاة حسب الجنسية القرن 20": "قضاة حسب الجنسية القرن 20",
        "قضاة حسب الجنسية عقد 2010": "قضاة حسب الجنسية عقد 2010",
        "كنديون حسب الأصل العرقي أو الوطني في القرن 20": "كنديون في القرن 20 حسب الأصل العرقي أو الوطني",
        "مرشحون في انتخابات الولايات المتحدة حسب السنة في القرن 21": "مرشحون في انتخابات الولايات المتحدة في القرن 21 حسب السنة",
        "مسلسلات تلفزيونية كوميدية أمريكية حسب النوع الفني في عقد 1960": "مسلسلات تلفزيونية كوميدية أمريكية في عقد 1960 حسب النوع الفني",
        "ملكيون حسب البلد القرن 20": "ملكيون حسب البلد القرن 20",
        "منافسون في ألعاب الكومنولث حسب السنة في القرن 20": "منافسون في ألعاب الكومنولث في القرن 20 حسب السنة",
        "هجمات في كندا في عقد 2020": "هجمات في كندا في عقد 2020",
        "يونانيون حسب المهنة في القرن 9": "يونانيون في القرن 9 حسب المهنة",
    }
    load_test_move_years(data)
