tests: Build tags/genre test with ctest
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
parent
3b03301e61
commit
ca2f35a848
|
@ -6,3 +6,4 @@ endfunction()
|
|||
|
||||
tag_unit_test(Artist)
|
||||
tag_unit_test(Album)
|
||||
tag_unit_test(Genre)
|
||||
|
|
|
@ -13,7 +13,7 @@ def TagTest(name):
|
|||
env.UsePackage("taglib_c")
|
||||
core_objs += [ env.Object("../../../core/tags/artist.c") ]
|
||||
core_objs += [ env.Object("../../../core/tags/album.c") ]
|
||||
res += [ TagTest("genre") ]
|
||||
core_objs += [ env.Object("../../../core/tags/genre.c") ]
|
||||
res += [ TagTest("library") ]
|
||||
|
||||
core_objs += [ env.Object("../../../core/tags/tags.c") ]
|
||||
|
|
|
@ -7,22 +7,22 @@
|
|||
static void test_verify_empty(struct genre *genre)
|
||||
{
|
||||
const struct db_ops *genre_ops = test_genre_ops();
|
||||
test_equal(genre->ge_name, "");
|
||||
test_equal((void *)genre->ge_tokens[0], NULL);
|
||||
test_equal((void *)genre->ge_alts[0], NULL);
|
||||
test_equal(genre_ops->dbe_key(&genre->ge_dbe), "");
|
||||
g_assert_cmpstr(genre->ge_name, ==, "");
|
||||
g_assert_null(genre->ge_tokens[0]);
|
||||
g_assert_null(genre->ge_alts[0]);
|
||||
g_assert_cmpstr(genre_ops->dbe_key(&genre->ge_dbe), ==, "");
|
||||
}
|
||||
|
||||
static void test_verify_vg(struct genre *genre)
|
||||
{
|
||||
const struct db_ops *genre_ops = test_genre_ops();
|
||||
test_equal(genre->ge_name, "Video Game Music");
|
||||
test_equal(genre->ge_tokens[0], "video");
|
||||
test_equal(genre->ge_tokens[1], "game");
|
||||
test_equal(genre->ge_tokens[2], "music");
|
||||
test_equal((void *)genre->ge_tokens[3], NULL);
|
||||
test_equal((void *)genre->ge_alts[0], NULL);
|
||||
test_equal(genre_ops->dbe_key(&genre->ge_dbe), "Video Game Music");
|
||||
g_assert_cmpstr(genre->ge_name, ==, "Video Game Music");
|
||||
g_assert_cmpstr(genre->ge_tokens[0], ==, "video");
|
||||
g_assert_cmpstr(genre->ge_tokens[1], ==, "game");
|
||||
g_assert_cmpstr(genre->ge_tokens[2], ==, "music");
|
||||
g_assert_null(genre->ge_tokens[3]);
|
||||
g_assert_null(genre->ge_alts[0]);
|
||||
g_assert_cmpstr(genre_ops->dbe_key(&genre->ge_dbe), ==, "Video Game Music");
|
||||
}
|
||||
|
||||
static void test_genre()
|
||||
|
@ -34,9 +34,9 @@ static void test_genre()
|
|||
|
||||
genre = GENRE(genre_ops->dbe_alloc("Video Game Music"));
|
||||
test_verify_vg(genre);
|
||||
test_equal(genre_match_token(genre, "video"), (bool)true);
|
||||
test_equal(genre_match_token(genre, "music"), (bool)true);
|
||||
test_equal(genre_match_token(genre, "rock"), (bool)false);
|
||||
g_assert_true( genre_match_token(genre, "video"));
|
||||
g_assert_true( genre_match_token(genre, "music"));
|
||||
g_assert_false(genre_match_token(genre, "rock"));
|
||||
|
||||
file_init(&f, "genre_tag", 0, 0);
|
||||
file_open(&f, OPEN_WRITE);
|
||||
|
@ -69,9 +69,9 @@ static void test_genre_compare()
|
|||
video = GENRE(genre_ops->dbe_alloc("Video Game Music"));
|
||||
game = GENRE(genre_ops->dbe_alloc("game music"));
|
||||
|
||||
test_equal(genre_compare(video, video), 0);
|
||||
test_equal(genre_compare(video, game), 1);
|
||||
test_equal(genre_compare(game, video), -1);
|
||||
g_assert_cmpint(genre_compare(video, video), ==, 0);
|
||||
g_assert_cmpint(genre_compare(video, game), ==, 1);
|
||||
g_assert_cmpint(genre_compare(game, video), ==, -1);
|
||||
|
||||
g_free(video->ge_name);
|
||||
g_free(game->ge_name);
|
||||
|
@ -85,25 +85,31 @@ static void test_genere_db()
|
|||
struct database genre_db;
|
||||
struct genre *genre;
|
||||
|
||||
genre_db_init();
|
||||
genre = genre_find("Video Game Music");
|
||||
|
||||
test_verify_vg(genre);
|
||||
|
||||
test_equal((void *)genre_find("Video Game Music"), (void *)genre);
|
||||
test_equal((void *)genre_get(0), (void *)genre);
|
||||
test_equal((void *)genre_get(1), (void *)NULL);
|
||||
g_assert(genre_find("Video Game Music") == genre);
|
||||
g_assert(genre_get(0) == genre);
|
||||
g_assert_null(genre_get(1));
|
||||
|
||||
db_init(&genre_db, "genre.db", false, genre_ops);
|
||||
db_load(&genre_db);
|
||||
test_equal(genre_db.db_size, 1);
|
||||
g_assert_cmpint(genre_db.db_size, ==, 1);
|
||||
|
||||
db_deinit(&genre_db);
|
||||
genre_db_deinit();
|
||||
}
|
||||
|
||||
DECLARE_UNIT_TESTS(
|
||||
UNIT_TEST("Genre Tag", test_genre),
|
||||
UNIT_TEST("Genre Compare", test_genre_compare),
|
||||
UNIT_TEST("Genre Database", test_genere_db),
|
||||
);
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int ret;
|
||||
|
||||
genre_db_init();
|
||||
g_test_init(&argc, &argv, NULL);
|
||||
g_test_add_func("/Core/Tags/Genre", test_genre);
|
||||
g_test_add_func("/Core/Tags/Genre/Compare", test_genre_compare);
|
||||
g_test_add_func("/Core/Tags/Genre/Database", test_genere_db);
|
||||
ret = g_test_run();
|
||||
|
||||
genre_db_deinit();
|
||||
return ret;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue