ocarina/tests/core/tags/genre.cpp

43 lines
1.2 KiB
C++

/**
* Copyright 2014 (c) Anna Schumaker.
*/
#include <core/tags/genre.h>
#include <tests/test.h>
static void test_artist_tag()
{
Genre genre;
test_equal(genre.name(), (std::string)"");
test_equal(genre.lowercase(), (std::string)"");
test_equal(genre.primary_key(), (std::string)"");
genre = Genre("Video Game Music");
test_equal(genre.name(), (std::string)"Video Game Music");
test_equal(genre.lowercase(), (std::string)"video game music");
test_equal(genre.primary_key(), (std::string)"Video Game Music");
}
static void test_genere_tag_lookup()
{
Database<Genre> genre_db("genre.db", false);
Genre *genre = tags :: get_genre("Video Game Music");
test_equal(genre->name(), (std::string)"Video Game Music");
test_equal(genre->lowercase(), (std::string)"video game music");
test_equal(genre->primary_key(), (std::string)"Video Game Music");
test_equal(tags :: get_genre("Video Game Music"), genre);
test_equal(tags :: get_genre(0), genre);
test_equal(tags :: get_genre(1), (Genre *)NULL);
genre_db.load();
test_equal(genre_db.size(), (unsigned)1);
}
int main(int argc, char **argv)
{
test :: run("Genre Tag Test", test_artist_tag);
test :: run("Genre Tag Lookup Test", test_genere_tag_lookup);
return 0;
}