from aniparse.output_schemas import VideoResolution, SequenceNumber, SequenceIdentifierNumber, SequenceRange, SeriesInfo, Metadata
from aniparse.abstraction.keyword_base import ElementEntry
from aniparse.core.token_tags import Tag
from tests.conftest import Fixture

basic_episodes = [
    Metadata(
        audio_term=[
            "flac"
        ],
        file_checksum="69eccdcf",
        file_name="aim_for_the_top!_gunbuster-ep1.bd(h264.flac.10bit)[kaa][69eccdcf]",
        release_group=[
            "kaa"
        ],
        series=[
            SeriesInfo(
                title="aim for the top! gunbuster",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ],
        source=[
            "bd"
        ],
        video_term=[
            "h264",
            "10bit"
        ]
    ),
    Metadata(
        audio_term=[
            "aac"
        ],
        file_name="bakemonogatari - 01 (bd 1280x720 avc aacx2)",
        series=[
            SeriesInfo(
                title="bakemonogatari",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                video_width=1280
            )
        ],
        source=[
            "bd"
        ],
        video_term=[
            "avc"
        ]
    ),
    Metadata(
        file_name="chrono crusade ep. 1-5",
        series=[
            SeriesInfo(
                title="chrono crusade"
            )
        ]
    ),
    Metadata(
        file_checksum="30c15d62",
        file_name="cyborg 009 (1968) [tshs] episode 06 [30c15d62]",
        release_group=[
            "tshs"
        ],
        series=[
            SeriesInfo(
                title="cyborg 009",
                year=[
                    SequenceNumber(
                        number=1968
                    )
                ],
                episode=[
                    SequenceNumber(
                        number=6
                    )
                ]
            )
        ]
    ),
    Metadata(
        file_name="dragon.ball.kai.-.01.-.1080p.bluray.x264.dhd",
        release_group=[
            "dhd"
        ],
        series=[
            SeriesInfo(
                title="dragon ball kai",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ],
        source=[
            "bluray"
        ],
        video_resolution=[
            VideoResolution(
                video_height=1080,
                scan_method="p"
            )
        ],
        video_term=[
            "x264",
        ]
    ),
    Metadata(
        audio_term=[
            "flac",
            "5.1ch"
        ],
        file_name="evangelion shin gekijouban q (bdrip 1920x1080 x264 flacx2 5.1ch)-ank",
        release_group=[
            "ank"
        ],
        series=[
            SeriesInfo(
                title="evangelion shin gekijouban q"
            )
        ],
        source=[
            "bdrip"
        ],
        video_resolution=[
            VideoResolution(
                video_height=1080,
                video_width=1920
            )
        ],
        video_term=[
            "x264",
        ]
    ),
    Metadata(
        audio_term=[
            "aac",
            "5.1",
            "2.0"
        ],
        file_name="evangelion the new movie q (bd 1280x720 avc aacx2 [5.1+2.0])",
        series=[
            SeriesInfo(
                title="evangelion the new movie q"
            )
        ],
        source=[
            "bd"
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                video_width=1280
            )
        ],
        video_term=[
            "avc"
        ]
    ),
    # Without DB: "2" is ambiguous — parsed as episode (no episode evidence elsewhere)
    Metadata(
        file_checksum="88f4f7f0",
        file_name="eve no jikan 2 [88f4f7f0]",
        series=[
            SeriesInfo(
                title="eve no jikan",
                episode=[
                    SequenceNumber(number=2)
                ]
            )
        ]
    ),
    # With DB: see basic_episodes_db
    Metadata(
        file_checksum="69a307a2",
        file_name="evobot.[watakushi]_akuma_no_riddle_-_01v2_[720p][69a307a2]",
        release_group=[
            "watakushi"
        ],
        series=[
            SeriesInfo(
                title="akuma no riddle",
                episode=[
                    SequenceNumber(
                        number=1,
                        release_version="2"
                    )
                ]
            )
        ],
        unknown=[
            "evobot"
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                scan_method="p"
            )
        ]
    ),
    Metadata(
        file_name="evangelion_1.0_you_are_[not]_alone_(1080p)_[@home]",
        release_group=[
            "@home"
        ],
        series=[
            SeriesInfo(
                title="evangelion 1.0 you are [not] alone"
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=1080,
                scan_method="p"
            )
        ]
    ),
    Metadata(
        file_name="gekkan shoujo nozaki-kun [horriblesubs] (1080p)",
        release_group=[
            "horriblesubs"
        ],
        series=[
            SeriesInfo(
                title="gekkan shoujo nozaki-kun"
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=1080,
                scan_method="p"
            )
        ]
    ),
    Metadata(
        file_name="juuni kokki ep.5",
        series=[
            SeriesInfo(
                title="juuni kokki",
                episode=[
                    SequenceNumber(
                        number=5
                    )
                ]
            )
        ]
    ),
    Metadata(
        audio_term=[
            "aac"
        ],
        file_checksum="803da487",
        file_name="juuousei_-_01_[black_sheep][hdtv_h264_aac][803da487]",
        release_group=[
            "black sheep"
        ],
        series=[
            SeriesInfo(
                title="juuousei",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ],
        source=[
            "hdtv"
        ],
        video_term=[
            "h264"
        ]
    ),
    Metadata(
        audio_term=[
            "aac",
            "5.1",
            "2.0"
        ],
        file_name="kotonoha no niwa (bd 1280x720 avc aacx3 [5.1+2.0+2.0] subx3)",
        series=[
            SeriesInfo(
                title="kotonoha no niwa"
            )
        ],
        source=[
            "bd"
        ],
        subs_term=[
            "sub"
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                video_width=1280
            )
        ],
        video_term=[
            "avc"
        ]
    ),
    Metadata(
        file_checksum="46b35e25",
        file_name="macross frontier - sayonara no tsubasa (central anime, 720p) [46b35e25]",
        release_group=[
            "central anime"
        ],
        series=[
            SeriesInfo(
                title="macross frontier - sayonara no tsubasa"
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                scan_method="p"
            )
        ]
    ),
    Metadata(
        audio_term=[
            "aac"
        ],
        file_checksum="7a8a7769",
        file_name="magical girl lyrical nanoha a's - 01.dvd[h264.aac][dgz][7a8a7769]",
        release_group=[
            "dgz"
        ],
        series=[
            SeriesInfo(
                title="magical girl lyrical nanoha a's",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ],
        source=[
            "dvd"
        ],
        video_term=[
            "h264"
        ]
    ),
    Metadata(
        file_name="mary bell (dvd) - 01v2 [h-b]",
        release_group=[
            "h-b"
        ],
        release_version=[
            "2"
        ],
        series=[
            SeriesInfo(
                title="mary bell",
                episode=[
                    SequenceNumber(
                        number=1,
                        release_version="2"
                    )
                ]
            )
        ],
        source=[
            "dvd"
        ]
    ),
    Metadata(
        audio_term=[
            "dualaudio"
        ],
        file_checksum="0cdc2145",
        file_name="neko no ongaeshi - [hqr.remux-dualaudio][ntv.1280x692.h264](0cdc2145)",
        release_information=[
            "remux"
        ],
        series=[
            SeriesInfo(
                title="neko no ongaeshi"
            )
        ],
        unknown=[
            "ntv"
        ],
        video_resolution=[
            VideoResolution(
                video_height=692,
                video_width=1280
            )
        ],
        video_term=[
            "h264"
        ]
    ),
    Metadata(
        file_name="noein_[01_of_24]_[ru_jp]_[bodlerov_&_torrents_ru]",
        language=[
            "ru",
            "jp"
        ],
        release_group=[
            "bodlerov",
            "torrents_ru"
        ],
        series=[
            SeriesInfo(
                title="noein",
                episode=[
                    SequenceNumber(
                        number=1,
                        total=24
                    )
                ]
            )
        ]
    ),
    Metadata(
        file_name="the idolm@ster 765 pro to iu monogatari",
        series=[
            SeriesInfo(
                title="the idolm@ster 765 pro to iu monogatari"
            )
        ]
    ),
    Metadata(
        file_name="[46620] re:zero kara hajimeru isekai seikatsu [1080p av1]",
        release_group=[
            "46620"
        ],
        series=[
            SeriesInfo(
                title="re:zero kara hajimeru isekai seikatsu"
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=1080,
                scan_method="p"
            )
        ],
        video_term=[
            "av1"
        ]
    ),
    Metadata(
        audio_term=[
            "aac"
        ],
        file_checksum="7b2c5e8b",
        file_name="[akh-swe]_fullmetal_alchemist_(2009)_02v2_[h.264.aac][7b2c5e8b]",
        release_group=[
            "akh-swe"
        ],
        series=[
            SeriesInfo(
                title="fullmetal alchemist",
                year=[
                    SequenceNumber(
                        number=2009
                    )
                ],
                episode=[
                    SequenceNumber(
                        number=2,
                        release_version="2"
                    )
                ]
            )
        ],
        video_term=[
            "h.264"
        ]
    ),
    Metadata(
        audio_term=[
            "aac"
        ],
        file_checksum="12f00e89",
        file_name="[anbu-menclave]_canaan_-_01_[1024x576_h.264_aac][12f00e89]",
        release_group=[
            "anbu-menclave"
        ],
        series=[
            SeriesInfo(
                title="canaan",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=576,
                video_width=1024
            )
        ],
        video_term=[
            "h.264"
        ]
    ),
    Metadata(
        file_checksum="596dd8e6",
        file_name="[anbu-umai]_haiyoru!_nyaru-ani_[596dd8e6]",
        release_group=[
            "anbu-umai"
        ],
        series=[
            SeriesInfo(
                title="haiyoru! nyaru-ani"
            )
        ]
    ),
    Metadata(
        file_checksum="2048a39a",
        file_name="[anbu]_princess_lover!_-_01_[2048a39a]",
        release_group=[
            "anbu"
        ],
        series=[
            SeriesInfo(
                title="princess lover!",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ]
    ),
    Metadata(
        audio_term=[
            "aac"
        ],
        file_name="[aojiaozero][mangaka-san to assistant-san to the animation] ep02 [big][x264_aac][720p]",
        release_group=[
            "aojiaozero"
        ],
        series=[
            SeriesInfo(
                title="mangaka-san to assistant-san to the animation",
                episode=[
                    SequenceNumber(
                        number=2
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                scan_method="p"
            )
        ],
        video_term=[
            "x264"
        ],
        unknown=[
            "big"
        ]
    ),
    Metadata(
        file_checksum="29675b71",
        file_name="[ayako]_infinite_stratos_-_is_-_01v2_[xvid][400p][29675b71]",
        release_group=[
            "ayako"
        ],
        series=[
            SeriesInfo(
                title="infinite stratos - is",
                episode=[
                    SequenceNumber(
                        number=1,
                        release_version="2"
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=400,
                scan_method="p"
            )
        ],
        video_term=[
            "XviD"
        ]
    ),
    Metadata(
        audio_term=[
            "dd",
            "2.0"
        ],
        file_checksum="cb2b37f1",
        file_name="[b-g_&_m.3.3.w]_myself_yourself_12.dvd(h.264_dd2.0)_[cb2b37f1]",
        release_group=[
            "b-g",
            "m.3.3.w"
        ],
        series=[
            SeriesInfo(
                title="myself yourself",
                episode=[
                    SequenceNumber(
                        number=12
                    )
                ]
            )
        ],
        source=[
            "dvd"
        ],
        video_term=[
            "h.264"
        ]
    ),
    Metadata(
        file_checksum="c83164b9",
        file_name="[bakawolf-m.3.3.w] special a 01 (h.264) [c83164b9]",
        release_group=[
            "bakawolf-m.3.3.w"
        ],
        series=[
            SeriesInfo(
                title="special a",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ],
        video_term=[
            "h.264"
        ]
    ),
    # Without DB: "no.6" glued — absorbed into title
    Metadata(
        audio_term=[
            "dual audio"
        ],
        file_name="[bludragon] blue submarine no.6 (dvd, r2, dual audio) v3",
        release_group=[
            "bludragon"
        ],
        release_version=[
            "3"
        ],
        series=[
            SeriesInfo(
                title="blue submarine no.6",
            )
        ]
    ),
    # With DB: see basic_episodes_db
    Metadata(
        audio_term=[
            "dual audio",
            "vorbis"
        ],
        # TODO: How we handle this? we should able to recognize them correctly
        file_name="[ch] sword art online extra edition dual audio [bd 480p][10bith.264vorbis]",
        release_group=[
            "ch"
        ],
        series=[
            SeriesInfo(
                title="sword art online extra edition"
            )
        ],
        source=[
            "bd"
        ],
        video_resolution=[
            VideoResolution(
                video_height=480,
                scan_method="p"
            )
        ],
        video_term=[
            "10bit",
            "h.264"
        ]
    ),
    Metadata(
        file_checksum="c1b5ce5d",
        file_name="[doremi].ro-kyu-bu!.ss.01.[c1b5ce5d]",
        release_group=[
            "doremi"
        ],
        series=[
            SeriesInfo(
                title="ro-kyu-bu! ss",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ]
    ),
    Metadata(
        audio_term=[
            "aac"
        ],
        file_checksum="888e4991",
        file_name="[e-haro raws] kore wa zombie desu ka - 03 (tv 1280x720 h264 aac) [888e4991]",
        release_group=[
            "e-haro raws"
        ],
        series=[
            SeriesInfo(
                title="kore wa zombie desu ka",
                episode=[
                    SequenceNumber(
                        number=3
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                video_width=1280,
            )
        ],
        video_term=[
            "h264"
        ]
    ),
    Metadata(
        file_name="[edomae subs] kore wa zombie desu ka episode 2",
        release_group=[
            "edomae subs"
        ],
        series=[
            SeriesInfo(
                title="kore wa zombie desu ka",
                episode=[
                    SequenceNumber(
                        number=2
                    )
                ]
            )
        ]
    ),
    Metadata(
        audio_term=[
            "aac"
        ],
        file_checksum="c37580f8",
        file_name="[elysium]sora.no.woto.ep07.5(bd.720p.aac)[c37580f8]",
        release_group=[
            "elysium"
        ],
        series=[
            SeriesInfo(
                title="sora no woto",
                episode=[
                    SequenceNumber(
                        number=7.5
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                scan_method="p"
            )
        ]
    ),
    Metadata(
        file_checksum="f2ae5ff6",
        file_name="[erai-raws] one piece - 1000 [1080p][multiple subtitle][f2ae5ff6]",
        release_group=[
            "erai-raws"
        ],
        series=[
            SeriesInfo(
                title="one piece",
                episode=[
                    SequenceNumber(
                        number=1000
                    )
                ]
            )
        ],
        subs_term=[
            "multiple subtitle"
        ],
        video_resolution=[
            VideoResolution(
                video_height=1080,
                scan_method="p"
            )
        ]
    ),
    Metadata(
        file_checksum="902bb314",
        file_name="[erogaki-team]_nurse_witch_komugi-chan_magikarte_02.5_[902bb314]",
        release_group=[
            "erogaki-team"
        ],
        series=[
            SeriesInfo(
                title="nurse witch komugi-chan magikarte",
                episode=[
                    SequenceNumber(
                        number=2.5
                    )
                ]
            )
        ]
    ),
    Metadata(
        audio_term=[
            "aac"
        ],
        file_checksum="457cc066",
        file_name="[fbi] baby princess 3d paradise love 01v0 [bd][720p-aac][457cc066]",
        release_group=[
            "fbi"
        ],
        series=[
            SeriesInfo(
                title="baby princess 3d paradise love",
                episode=[
                    SequenceNumber(
                        number=1,
                        release_version="0"
                    )
                ]
            )
        ],
        source=[
            "bd"
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                scan_method="p"
            )
        ]
    ),
    Metadata(
        file_checksum="bad09c76",
        file_name="[fff] futsuu no joshikousei ga [locodol] yatte mita. - 01 [bad09c76]",
        release_group=[
            "fff"
        ],
        series=[
            SeriesInfo(
                title="futsuu no joshikousei ga [locodol] yatte mita.",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ]
    ),
    Metadata(
        file_checksum="29ea865b",
        file_name="[fff] red data girl - 10v0 [29ea865b]",
        release_group=[
            "fff"
        ],
        series=[
            SeriesInfo(
                title="red data girl",
                episode=[
                    SequenceNumber(
                        number=10,
                        release_version="0"
                    )
                ]
            )
        ]
    ),
    Metadata(
        file_name="[faggotryraws] bakuman - 01 (nhk e 848x480)",
        release_group=[
            "faggotryraws"
        ],
        series=[
            SeriesInfo(
                title="bakuman",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=480,
                video_width=848
            )
        ],
        unknown=[
            "nhk e"
        ]
    ),
    Metadata(
        file_checksum="73ad0735",
        file_name="[frostii]_nodame_cantabile_finale_-_00_[73ad0735]",
        release_group=[
            "frostii"
        ],
        series=[
            SeriesInfo(
                title="nodame cantabile finale",
                episode=[
                    SequenceNumber(
                        number=0
                    )
                ]
            )
        ]
    ),
    Metadata(
        audio_term=[
            "dual audio"
        ],
        file_checksum="c13cefe0",
        file_name="[grimripper] koi kaze [dual audio] ep01 (c13cefe0)",
        release_group=[
            "grimripper"
        ],
        series=[
            SeriesInfo(
                title="koi kaze",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ]
    ),
    Metadata(
        file_name="[hakugetsu&mgrt][evangelion 3.0 you can (not) redo][480p][v0]",
        release_group=[
            "hakugetsu&mgrt"
        ],
        release_version=[
            "0"
        ],
        series=[
            SeriesInfo(
                title="evangelion 3.0 you can (not) redo"
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=480,
                scan_method="p"
            )
        ]
    ),
    Metadata(
        file_name="[hard-boiled fs]fullmetalalchemist_09",
        release_group=[
            "hard-boiled fs"
        ],
        series=[
            SeriesInfo(
                title="fullmetalalchemist",
                episode=[
                    SequenceNumber(
                        number=9
                    )
                ]
            )
        ]
    ),
    Metadata(
        audio_term=[
            "aac"
        ],
        file_checksum="6b6be015",
        file_name="[hien] kotoura-san - special short anime 'haruka's room' - 01 [bd 1080p h.264 10-bit aac][6b6be015]",
        release_group=[
            "hien"
        ],
        series=[
            SeriesInfo(
                title="kotoura-san - special short anime 'haruka's room'",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=1080,
                scan_method="p"
            )
        ],
        video_term=[
            "h.264",
            "10-bit"
        ]
    ),
    Metadata(
        file_checksum="e83ad672",
        file_name="[himatsubushi]_sora_no_woto_-_01_-_h264_-_720p_-_e83ad672",
        release_group=[
            "himatsubushi"
        ],
        series=[
            SeriesInfo(
                title="sora no woto",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                scan_method="p"
            )
        ],
        video_term=[
            "h264"
        ]
    ),
    Metadata(
        file_name="[hiryuu] maji de watashi ni koi shinasai!! - 02 [720]",
        release_group=[
            "hiryuu"
        ],
        series=[
            SeriesInfo(
                title="maji de watashi ni koi shinasai!!",
                episode=[
                    SequenceNumber(
                        number=2
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                scan_method="p"
            )
        ]
    ),
    Metadata(
        file_name="[horriblesubs] gintama - 111c [1080p]",
        release_group=[
            "horriblesubs"
        ],
        series=[
            SeriesInfo(
                title="gintama",
                episode=[
                    SequenceNumber(
                        number=111,
                        part="c"
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=1080,
                scan_method="p"
            )
        ]
    ),
    Metadata(
        file_name="[horriblesubs] heroman - 10_(xvid_animesenshi)",
        release_group=[
            "horriblesubs"
        ],
        series=[
            SeriesInfo(
                title="heroman",
                episode=[
                    SequenceNumber(
                        number=10
                    )
                ]
            )
        ],
        video_term=[
            "xvid"
        ],
        unknown=[
            "animesenshi"
        ]
    ),
    Metadata(
        file_name="[horriblesubs] the world god only knows 2 - 03 [720p]",
        release_group=[
            "horriblesubs"
        ],
        series=[
            SeriesInfo(
                title="the world god only knows 2",
                episode=[
                    SequenceNumber(
                        number=3
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                scan_method="p"
            )
        ]
    ),
    Metadata(
        file_name="[horriblesubs] tower of druaga - sword of uruk - 04 [480p]",
        release_group=[
            "horriblesubs"
        ],
        series=[
            SeriesInfo(
                title="tower of druaga - sword of uruk",
                episode=[
                    SequenceNumber(
                        number=4
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=480,
                scan_method="p"
            )
        ]
    ),
    Metadata(
        file_name="[infantjedi] norn9 - norn + nonetto - 12",
        release_group=[
            "infantjedi"
        ],
        series=[
            SeriesInfo(
                title="norn9 - norn + nonetto",
                episode=[
                    SequenceNumber(
                        number=12
                    )
                ]
            )
        ]
    ),
    Metadata(
        file_name="[judas] black clover - jump special anime festa 2018",
        release_group=[
            "judas"
        ],
        series=[
            SeriesInfo(
                title="black clover - jump special anime festa 2018"
            )
        ]
    ),
    Metadata(
        file_name="[judas] boruto - ova - the day naruto became hokage",
        release_group=[
            "judas"
        ],
        series=[
            SeriesInfo(
                title="boruto - ova - the day naruto became hokage"
            )
        ]
    ),
    Metadata(
        file_name="[judas] card captor sakura - the movie 2 - the sealed card",
        release_group=[
            "judas"
        ],
        series=[
            SeriesInfo(
                title="card captor sakura - the movie 2 - the sealed card"
            )
        ]
    ),
    Metadata(
        file_name="[judas] initial d - extra stage 2 - sentimental white",
        release_group=[
            "judas"
        ],
        series=[
            SeriesInfo(
                title="initial d - extra stage 2 - sentimental white"
            )
        ]
    ),
    Metadata(
        file_name="[judas] one piece - 1009v2",
        release_group=[
            "judas"
        ],
        series=[
            SeriesInfo(
                title="one piece",
                episode=[
                    SequenceNumber(
                        number=1009,
                        release_version="2"
                    )
                ]
            )
        ]
    ),
    Metadata(
        file_checksum="a1fc58a7",
        file_name="[jumonji-giri]_[shinsen-subs][asf]_d.c.ii_da_capo_ii_ep01_(a1fc58a7)",
        release_group=[
            "jumonji-giri",
            "shinsen-subs",
            "asf"
        ],
        series=[
            SeriesInfo(
                title="d.c.ii da capo ii",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ]
    ),
    Metadata(
        file_name="[klf]_d.gray-man_04v2",
        release_group=[
            "klf"
        ],
        series=[
            SeriesInfo(
                title="d.gray-man",
                episode=[
                    SequenceNumber(
                        number=4,
                        release_version="2"
                    )
                ]
            )
        ]
    ),
    Metadata(
        audio_term=[
            "aac"
        ],
        file_checksum="06ee7355",
        file_name="[kira-fansub] uchuu no stellvia ep 14 (bd h264 1280x960 24fps aac) [06ee7355]",
        release_group=[
            "kira-fansub"
        ],
        series=[
            SeriesInfo(
                title="uchuu no stellvia",
                episode=[
                    SequenceNumber(
                        number=14
                    )
                ]
            )
        ],
        source=[
            "bd"
        ],
        video_resolution=[
            VideoResolution(
                video_height=960,
                video_width=1280
            )
        ],
        video_term=[
            "h264",
            "24fps"
        ]
    ),
    Metadata(
        audio_term=[
            "aac"
        ],
        file_checksum="943106ad",
        file_name="[lambda-delta]_umineko_no_naku_koro_ni_-_11_[848x480_h.264_aac][943106ad]",
        release_group=[
            "lambda-delta"
        ],
        series=[
            SeriesInfo(
                title="umineko no naku koro ni",
                episode=[
                    SequenceNumber(
                        number=11
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=480,
                video_width=848
            )
        ],
        video_term=[
            "h.264"
        ]
    ),
    Metadata(
        file_checksum="d035a39f",
        file_name="[mezashite] aikatsu! ‒ 100 [d035a39f]",
        release_group=[
            "mezashite"
        ],
        series=[
            SeriesInfo(
                title="aikatsu!",
                episode=[
                    SequenceNumber(
                        number=100
                    )
                ]
            )
        ]
    ),
    Metadata(
        file_name="[n logn fansubs] angel beats (9)",
        release_group=[
            "n logn fansubs"
        ],
        series=[
            SeriesInfo(
                title="angel beats",
                episode=[
                    SequenceNumber(
                        number=9
                    )
                ]
            )
        ]
    ),
    Metadata(
        file_checksum="49874745",
        file_name="[namaenai] hidamari sketch x365 - 09a (dvd) [49874745]",
        release_group=[
            "namaenai"
        ],
        series=[
            SeriesInfo(
                title="hidamari sketch x365",
                episode=[
                    SequenceNumber(
                        number=9,
                        part="a"
                    )
                ]
            )
        ],
        source=[
            "dvd"
        ]
    ),
    Metadata(
        file_checksum="98965607",
        file_name="[nishi-taku] tamayura ~graduation photo~ movie part 1 [bd][720p][98965607]",
        release_group=[
            "nishi-taku"
        ],
        series=[
            SeriesInfo(
                title="tamayura ~graduation photo~ movie part 1"
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                scan_method="p"
            )
        ]
    ),
    Metadata(
        audio_term=[
            "aac"
        ],
        file_checksum="ba70ba9c",
        file_name="[nubles] space battleship yamato 2199 (2012) episode 18 (720p 8 bit aac)[ba70ba9c]",
        release_group=[
            "nubles"
        ],
        series=[
            SeriesInfo(
                title="space battleship yamato 2199",
                year=[
                    SequenceNumber(
                        number=2012
                    )
                ],
                episode=[
                    SequenceNumber(
                        number=18
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                scan_method="p"
            )
        ],
        video_term=[
            "8 bit"
        ]
    ),
    Metadata(
        audio_term=[
            "ac3"
        ],
        file_checksum="82e36a36",
        file_name="[r-r] diebuster.ep1 (720p.hi10p.ac3) [82e36a36]",
        release_group=[
            "r-r"
        ],
        series=[
            SeriesInfo(
                title="diebuster",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                scan_method="p"
            )
        ],
        video_term=[
            "hi10p"
        ]
    ),
    Metadata(
        file_checksum="1590d378",
        file_name="[rna]_sakura_taisen_new_york_ny_ep_2_[1590d378]",
        release_group=[
            "rna"
        ],
        series=[
            SeriesInfo(
                title="sakura taisen new york ny",
                episode=[
                    SequenceNumber(
                        number=2
                    )
                ]
            )
        ]
    ),
    Metadata(
        audio_term=[
            "ogg"
        ],
        file_checksum="585d9971",
        file_name="[rax]mezzo(dsa)_-_05_-_[x264_ogg]_[585d9971]",
        release_group=[
            "rax"
        ],
        series=[
            SeriesInfo(
                title="mezzo dsa",
                episode=[
                    SequenceNumber(
                        number=5
                    )
                ]
            )
        ],
        video_term=[
            "x264"
        ]
    ),
    Metadata(
        audio_term=[
            "vorbis"
        ],
        file_name="[rakuda].gift.~eternal.rainbow~.01.dvd.h.264.vorbis",
        release_group=[
            "rakuda"
        ],
        series=[
            SeriesInfo(
                title="gift ~eternal rainbow~",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ],
        source=[
            "dvd"
        ],
        video_term=[
            "h.264"
        ]
    ),
    Metadata(
        file_name="[redone] memories off 3.5 - 04 (dvd 10-bit)",
        release_group=[
            "redone"
        ],
        series=[
            SeriesInfo(
                title="memories off 3.5",
                episode=[
                    SequenceNumber(
                        number=4
                    )
                ]
            )
        ],
        source=[
            "dvd"
        ],
        video_term=[
            "10-bit"
        ]
    ),
    Metadata(
        audio_term=[
            "dual-audio"
        ],
        file_name="[reaktor] serial experiments lain - e01 [1080p][x265][10-bit][dual-audio]",
        release_group=[
            "reaktor"
        ],
        series=[
            SeriesInfo(
                title="serial experiments lain",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=1080,
                scan_method="p"
            )
        ],
        video_term=[
            "x265",
            "10-bit"
        ]
    ),
    # Without DB: "no.6" kept as title (empty-title fallback — "no" as ep prefix would leave title empty)
    Metadata(
        file_checksum="a956075c",
        file_name="[ruri]no.6 01 [720p][h264][a956075c]",
        release_group=[
            "ruri"
        ],
        series=[
            SeriesInfo(
                title="no.6",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                scan_method="p"
            )
        ],
        video_term=[
            "h264"
        ]
    ),
    # With DB: see basic_episodes_db
    Metadata(
        file_checksum="0f5f884f",
        file_name="[ss]_kemono_no_souja_erin_-_12_(1280x720_h264)_[0f5f884f]",
        release_group=[
            "ss"
        ],
        series=[
            SeriesInfo(
                title="kemono no souja erin",
                episode=[
                    SequenceNumber(
                        number=12
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                video_width=1280
            )
        ],
        video_term=[
            "h264"
        ]
    ),
    Metadata(
        file_checksum="4d5ec315",
        file_name="[shinsen-subs]_macross_frontier_-_01b_[4d5ec315]",
        release_group=[
            "shinsen-subs"
        ],
        series=[
            SeriesInfo(
                title="macross frontier",
                episode=[
                    SequenceNumber(
                        number=1,
                        part="b"
                    )
                ]
            )
        ]
    ),
    Metadata(
        file_checksum="b6ce8458",
        file_name="[spoonsubs]_hidamari_sketch_x365_-_04.1_(dvd)[b6ce8458]",
        release_group=[
            "spoonsubs"
        ],
        series=[
            SeriesInfo(
                title="hidamari sketch x365",
                episode=[
                    SequenceNumber(
                        number=4.1
                    )
                ]
            )
        ],
        source=[
            "dvd"
        ]
    ),
    Metadata(
        audio_term=[
            "ac3"
        ],
        file_checksum="3abd57e6",
        file_name="[subdesu-h] swing out sisters complete version (720p x264 8bit ac3) [3abd57e6]",
        release_group=[
            "subdesu-h"
        ],
        series=[
            SeriesInfo(
                title="swing out sisters"
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                scan_method="p"
            )
        ],
        video_term=[
            "x264",
            "8bit"
        ]
    ),
    Metadata(
        audio_term=[
            "aac",
            "5.1ch"
        ],
        file_name="[tv-j] kidou senshi gundam uc unicorn - episode.02 [bd 1920x1080 h264+aac(5.1ch jp+en) +sub(jp-en-sp-fr-ch) chap]",
        language=[
            "jp",
            "en",
            "sp",
            "fr",
            "ch"
        ],
        release_group=[
            "tv-j"
        ],
        series=[
            SeriesInfo(
                title="kidou senshi gundam uc unicorn",
                episode=[
                    SequenceNumber(
                        number=2
                    )
                ]
            )
        ],
        source=[
            "bd"
        ],
        subs_term=[
            "sub"
        ],
        unknown=[
            "chap"
        ],
        video_resolution=[
            VideoResolution(
                video_height=1080,
                video_width=1920
            )
        ],
        video_term=[
            "h264"
        ]
    ),
    Metadata(
        file_checksum="40f2a957",
        file_name="[taka]_fullmetal_alchemist_(2009)_04_[720p][40f2a957]",
        release_group=[
            "taka"
        ],
        series=[
            SeriesInfo(
                title="fullmetal alchemist",
                year=[
                    SequenceNumber(
                        number=2009
                    )
                ],
                episode=[
                    SequenceNumber(
                        number=4
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                scan_method="p"
            )
        ]
    ),
    Metadata(
        file_name="[triad]_today_in_class_5-2_-_04",
        release_group=[
            "triad"
        ],
        series=[
            SeriesInfo(
                title="today in class 5-2",
                episode=[
                    SequenceNumber(
                        number=4
                    )
                ]
            )
        ]
    ),
    Metadata(
        file_name="[utw-thora] evangelion 3.33 you can (not) redo [bd][1080p,x264,flac][f2060cf5]",
        audio_term=[
            "flac"
        ],
        file_checksum="f2060cf5",
        video_resolution=[
            VideoResolution(
                video_height=1080,
                scan_method="p"
            )
        ],
        release_group=[
            "utw-thora"
        ],
        series=[
            SeriesInfo(
                title="evangelion 3.33 you can (not) redo"
            )
        ],
        video_term=[
            "x264"
        ]
    ),
    Metadata(
        audio_term=[
            "truehd",
            "5.1"
        ],
        file_checksum="9f311dab",
        file_name="[utw-tmd]_summer_wars_[bd][h264-720p][truehd5.1][9f311dab]",
        release_group=[
            "utw-tmd"
        ],
        series=[
            SeriesInfo(
                title="summer wars"
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                scan_method="p"
            )
        ],
        video_term=[
            "h264"
        ]
    ),
    Metadata(
        audio_term=[
            "aac"
        ],
        file_checksum="3e56ee18",
        file_name="[utw]_accel_world_-_ex01_[bd][h264-720p_aac][3e56ee18]",
        release_group=[
            "utw"
        ],
        series=[
            SeriesInfo(
                title="accel world - ex01"
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                scan_method="p"
            )
        ],
        video_term=[
            "h264"
        ]
    ),
    Metadata(
        audio_term=[
            "ac3"
        ],
        file_checksum="02a0491d",
        file_name="[utw]_fate_zero_-_01_[bd][h264-720p_ac3][02a0491d]",
        release_group=[
            "utw"
        ],
        series=[
            SeriesInfo(
                title="fate zero",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                scan_method="p"
            )
        ],
        video_term=[
            "h264"
        ]
    ),
    Metadata(
        audio_term=[
            "ac3"
        ],
        file_checksum="bfce1627",
        file_name="[urusai]_bokura_ga_ita_01_[dvd_h264_ac3]_[bfce1627][fixed]",
        release_group=[
            "urusai"
        ],
        series=[
            SeriesInfo(
                title="bokura ga ita",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ],
        video_term=[
            "h264"
        ],
        unknown=[
            "fixed"
        ]
    ),
    Metadata(
        file_name="[valdikss]_first_squad_the_morment_of_truth_[720x576_h264_dvdscr_eng_hardsub]",
        language=[
            "eng"
        ],
        release_group=[
            "valdikss"
        ],
        series=[
            SeriesInfo(
                title="first squad the morment of truth"
            )
        ],
        source=[
            "dvdscr"
        ],
        subs_term=[
            "hardsub"
        ],
        video_resolution=[
            VideoResolution(
                video_height=576,
                video_width=720
            )
        ],
        video_term=[
            "h264",
        ]
    ),
    Metadata(
        file_checksum="36d2444d",
        file_name="[yoroshiku]_009-1_-_02_(h264)_[36d2444d]",
        release_group=[
            "yoroshiku"
        ],
        series=[
            SeriesInfo(
                title="009-1",
                episode=[
                    SequenceNumber(
                        number=2
                    )
                ]
            )
        ],
        video_term=[
            "h264"
        ]
    ),
    Metadata(
        file_checksum="65274fde",
        file_name="[yuurisan-subs]_darker_than_black_-_gemini_of_the_meteor_-_01v2_[65274fde].patch",
        release_group=[
            "yuurisan-subs"
        ],
        series=[
            SeriesInfo(
                title="darker than black - gemini of the meteor",
                episode=[
                    SequenceNumber(
                        number=1,
                        release_version="2"
                    )
                ]
            )
        ]
    ),
    Metadata(
        audio_term=[
            "aac"
        ],
        file_name="[zero-raws] shingeki no kyojin - 25 end (mbs 1280x720 x264 aac)",
        release_group=[
            "zero-raws"
        ],
        release_information=[
            "end"
        ],
        series=[
            SeriesInfo(
                title="shingeki no kyojin",
                episode=[
                    SequenceNumber(
                        number=25
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=720,
                video_width=1280
            )
        ],
        video_term=[
            "x264"
        ]
    ),
    Metadata(
        file_name="[a4e]r.o.d_the_tv_01[divx5.2.1]",
        release_group=[
            "a4e"
        ],
        series=[
            SeriesInfo(
                title="r.o.d the tv",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ],
        video_term=[
            "divx5.2.1"
        ]
    ),
    Metadata(
        audio_term=[
            "multiaudio"
        ],
        file_name="[fong] lupin iii - kutabare! nostradamus [bdrip.1080p.10bit.multiaudio]",
        release_group=[
            "fong"
        ],
        series=[
            SeriesInfo(
                title="lupin iii - kutabare! nostradamus"
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=1080,
                scan_method="p"
            )
        ],
        video_term=[
            "10bit"
        ]
    ),
    Metadata(
        file_checksum="bf735bc4",
        file_name="[gg]_kimi_ni_todoke_2nd_season_-_00_[bf735bc4]",
        release_group=[
            "gg"
        ],
        series=[
            SeriesInfo(
                title="kimi ni todoke 2nd season",
                episode=[
                    SequenceNumber(
                        number=0
                    )
                ]
            )
        ]
    ),
    Metadata(
        audio_term=[
            "he-aac"
        ],
        file_name="[kito].nazca.episode.01.dvdrip.[x264.he-aac.{jpn}+sub{fr}]",
        language=[
            "jpn",
            "fr"
        ],
        release_group=[
            "kito"
        ],
        series=[
            SeriesInfo(
                title="nazca",
                episode=[
                    SequenceNumber(
                        number=1
                    )
                ]
            )
        ],
        video_term=[
            "x264"
        ]
    ),
    Metadata(
        audio_term=[
            "5.1",
            "aac"
        ],
        file_name="]akihitosubs] elfen lied - 12 [bd 1920x1080 x265 10bit 5.1 aac]",
        release_group=[
            "akihitosubs"
        ],
        series=[
            SeriesInfo(
                title="elfen lied",
                episode=[
                    SequenceNumber(
                        number=12
                    )
                ]
            )
        ],
        video_resolution=[
            VideoResolution(
                video_height=1080,
                video_width=1920
            )
        ],
        video_term=[
            "x265",
            "10bit"
        ]
    ),
    Metadata(
        audio_term=[
            "2.0ch",
            "AAC"
        ],
        file_name="Byousoku 5 Centimeter [Blu-ray][1920x1080 h.264][2.0ch AAC][softsubs]",
        series=[
            SeriesInfo(
                title="Byousoku 5 Centimeter"
            )
        ],
        source=[
            "Blu-ray"
        ],
        subs_term=[
            "softsubs"
        ],
        video_resolution=[
            VideoResolution(
                video_height=1080,
                video_width=1920
            )
        ],
        video_term=[
            "h.264"
        ]
    )
]

basic_episodes_db = [
    # With DB: custom_keywords identify "eve no jikan 2" as a known title
    Fixture(
        metadata=Metadata(
            file_checksum="88f4f7f0",
            file_name="eve no jikan 2 [88f4f7f0]",
            series=[
                SeriesInfo(
                    title="eve no jikan 2",
                )
            ],
        ),
        custom_keywords=[
            ElementEntry(word='EVE', categories=set(), regex_dict={
                r'EVE[\W_]+NO[\W_]+JIKAN[\W_]+2': {0: {Tag.SERIES_TITLE}}
            })
        ]
    ),
    # With DB: custom_keywords identify "no.6" as part of title
    Fixture(
        metadata=Metadata(
            audio_term=[
                "dual audio"
            ],
            file_name="[bludragon] blue submarine no.6 (dvd, r2, dual audio) v3",
            release_group=[
                "bludragon"
            ],
            release_version=[
                "3"
            ],
            series=[
                SeriesInfo(
                    title="blue submarine no.6",
                )
            ],
        ),
        custom_keywords=[
            ElementEntry(word='NO', categories=set(), regex_dict={
                r'NO\.[\W_]?6': {0: {Tag.SERIES_TITLE}}
            })
        ]
    ),
    # With DB: custom_keywords identify "no.6" as title
    Fixture(
        metadata=Metadata(
            file_checksum="a956075c",
            file_name="[ruri]no.6 01 [720p][h264][a956075c]",
            release_group=[
                "ruri"
            ],
            series=[
                SeriesInfo(
                    title="no.6",
                    episode=[
                        SequenceNumber(
                            number=1
                        )
                    ]
                )
            ],
            video_resolution=[
                VideoResolution(
                    video_height=720,
                    scan_method="p"
                )
            ],
            video_term=[
                "h264"
            ],
        ),
        custom_keywords=[
            ElementEntry(word='NO', categories=set(), regex_dict={
                r'NO\.[\W_]?6': {0: {Tag.SERIES_TITLE}}
            })
        ]
    ),
]
