package asses_test import ( "show-rss/src/asses" "testing" ) func TestSRTsByGoodness(t *testing.T) { cases := map[string]struct { given []string want string }{ "eng": { given: []string{"a", "eng"}, want: "eng", }, "eng nocap": { given: []string{"A", "eng"}, want: "eng", }, ".Apothecary_Diaries_S02E19.mkv.0:9.ita.ass": { given: []string{ ".Apothecary_Diaries_S02E19.mkv.0:10.rus.srt", ".Apothecary_Diaries_S02E19.mkv.0:2.eng.srt", ".Apothecary_Diaries_S02E19.mkv.0:3.por.srt", ".Apothecary_Diaries_S02E19.mkv.0:4.spa.srt", ".Apothecary_Diaries_S02E19.mkv.0:5.spa.srt", ".Apothecary_Diaries_S02E19.mkv.0:6.ara.srt", ".Apothecary_Diaries_S02E19.mkv.0:7.fre.srt", ".Apothecary_Diaries_S02E19.mkv.0:8.ger.srt", ".Apothecary_Diaries_S02E19.mkv.0:9.ita.srt", }, want: ".Apothecary_Diaries_S02E19.mkv.0:2.eng.srt", }, } for name, d := range cases { name := name c := d t.Run(name, func(t *testing.T) { got := asses.SRTsByGoodness(c.given) if got[0] != c.want { t.Errorf("expected %s but got %s (%+v)", c.want, got[0], got) } }) } }