57 lines
1.9 KiB
Go
57 lines
1.9 KiB
Go
package search_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/akyoto/assert"
|
|
"github.com/animenotifier/notify.moe/arn/search"
|
|
)
|
|
|
|
// Run these search terms and expect the
|
|
// anime ID on the right as first result.
|
|
var tests = map[string]string{
|
|
"lucky star": "Pg9BcFmig", // Lucky☆Star
|
|
"dragn bll": "hbih5KmmR", // Dragon Ball
|
|
"dragon ball": "hbih5KmmR", // Dragon Ball
|
|
"dragon ball z": "ir-05Fmmg", // Dragon Ball Z
|
|
"masotan": "grdNhFiiR", // Hisone to Maso-tan
|
|
"akame": "iEaTpFiig", // Akame ga Kill!
|
|
"kimi": "7VjCpFiiR", // Kimi no Na wa.
|
|
"working": "0iIgtFimg", // Working!!
|
|
"k on": "LP8j5Kmig", // K-On!
|
|
"ko n": "LP8j5Kmig", // K-On!
|
|
"kon": "LP8j5Kmig", // K-On!
|
|
"danmachi": "LTTPtKmiR", // Dungeon ni Deai wo Motomeru no wa Machigatteiru Darou ka
|
|
"sword oratoria": "ifGetFmig", // Dungeon ni Deai wo Motomeru no wa Machigatteiru Darou ka Gaiden: Sword Oratoria
|
|
"gint": "QAZ1cKmig", // Gintama
|
|
"k": "EDSOtKmig", // K
|
|
"champloo": "0ER25Fiig", // Samurai Champloo
|
|
"one peace": "jdZp5KmiR", // One Piece
|
|
"howl": "CpmTcFmig", // Howl's Moving Castle
|
|
"howl's": "CpmTcFmig", // Howl's Moving Castle
|
|
"howls": "CpmTcFmig", // Howl's Moving Castle
|
|
"fate stay": "74y2cFiiR", // Fate/stay night
|
|
"fate night": "74y2cFiiR", // Fate/stay night
|
|
"stay night": "74y2cFiiR", // Fate/stay night
|
|
"re zero": "Un9XpFimg", // Re:Zero kara Hajimeru Isekai Seikatsu
|
|
"slime": "VhRKhKimR", // Tensei shitara Slime Datta Ken
|
|
}
|
|
|
|
func TestAnimeSearch(t *testing.T) {
|
|
for term, expectedAnimeID := range tests {
|
|
results := search.Anime(term, 1)
|
|
assert.Equal(t, len(results), 1)
|
|
assert.Equal(t, results[0].ID, expectedAnimeID)
|
|
}
|
|
}
|
|
|
|
func BenchmarkAnimeSearch(b *testing.B) {
|
|
b.ReportAllocs()
|
|
|
|
b.RunParallel(func(pb *testing.PB) {
|
|
for pb.Next() {
|
|
search.Anime("drgon bll", 1)
|
|
}
|
|
})
|
|
}
|