core/tags/artist: Rewrite unit test
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
parent
928c215494
commit
5c56d53f9f
|
@ -4,20 +4,64 @@
|
|||
#include <core/tags/artist.h>
|
||||
#include "../test.h"
|
||||
|
||||
static void test_artist_tag()
|
||||
static void test_verify_empty(Artist *artist)
|
||||
{
|
||||
Artist artist;
|
||||
test_equal(artist.name(), (std::string)"");
|
||||
test_equal(artist.lowercase(), (std::string)"");
|
||||
test_equal(artist.primary_key(), (std::string)"");
|
||||
|
||||
artist = Artist("Koji Kondo");
|
||||
test_equal(artist.name(), (std::string)"Koji Kondo");
|
||||
test_equal(artist.lowercase(), (std::string)"koji kondo");
|
||||
test_equal(artist.primary_key(), (std::string)"Koji Kondo");
|
||||
test_equal(artist->name(), "");
|
||||
test_equal(artist->lowercase(), "");
|
||||
test_equal(artist->primary_key(), "");
|
||||
}
|
||||
|
||||
static void test_artist_tag_lookup()
|
||||
static void test_verify_koji(Artist *artist)
|
||||
{
|
||||
test_equal(artist->name(), "Koji Kondo");
|
||||
test_equal(artist->lowercase(), "koji kondo");
|
||||
test_equal(artist->primary_key(), "Koji Kondo");
|
||||
}
|
||||
|
||||
static void test_artist()
|
||||
{
|
||||
Artist *artist = new Artist("Koji Kondo");
|
||||
unsigned int i;
|
||||
file f;
|
||||
|
||||
test_verify_koji(artist);
|
||||
|
||||
file_init(&f, "artist_tag", 0);
|
||||
file_open(&f, OPEN_WRITE);
|
||||
file_writef(&f, "1 \n1 ");
|
||||
artist->write(f);
|
||||
file_close(&f);
|
||||
delete artist;
|
||||
|
||||
artist = new Artist();
|
||||
test_verify_empty(artist);
|
||||
|
||||
file_open(&f, OPEN_READ);
|
||||
file_readf(&f, "%u", &i);
|
||||
artist->read(f);
|
||||
test_verify_empty(artist);
|
||||
|
||||
file_readf(&f, "%u", &i);
|
||||
artist->read(f);
|
||||
file_close(&f);
|
||||
test_verify_koji(artist);
|
||||
delete artist;
|
||||
}
|
||||
|
||||
static void test_artist_compare()
|
||||
{
|
||||
Artist *koji = new Artist("Koji Kondo");
|
||||
Artist *hajime = new Artist("hajime wakai");
|
||||
|
||||
test_equal(koji->compare(koji), 0);
|
||||
test_equal(koji->compare(hajime), 1);
|
||||
test_equal(hajime->compare(koji), -1);
|
||||
|
||||
delete hajime;
|
||||
delete koji;
|
||||
}
|
||||
|
||||
static void test_artist_db()
|
||||
{
|
||||
database<Artist> artist_db;
|
||||
Artist *artist;
|
||||
|
@ -25,9 +69,7 @@ static void test_artist_tag_lookup()
|
|||
tags :: init_artist_db();
|
||||
artist = tags :: get_artist("Koji Kondo");
|
||||
|
||||
test_equal(artist->name(), (std::string)"Koji Kondo");
|
||||
test_equal(artist->lowercase(), (std::string)"koji kondo");
|
||||
test_equal(artist->primary_key(), (std::string)"Koji Kondo");
|
||||
test_verify_koji(artist);
|
||||
|
||||
test_equal(tags :: get_artist("Koji Kondo"), artist);
|
||||
test_equal(tags :: get_artist(0), artist);
|
||||
|
@ -35,10 +77,13 @@ static void test_artist_tag_lookup()
|
|||
|
||||
db_init(&artist_db, "artist.db", false);
|
||||
db_load(&artist_db);
|
||||
test_equal(artist_db.db_size, (unsigned)1);
|
||||
test_equal(artist_db.db_size, 1);
|
||||
|
||||
db_deinit(&artist_db);
|
||||
}
|
||||
|
||||
DECLARE_UNIT_TESTS(
|
||||
UNIT_TEST("Artist Tag", test_artist_tag),
|
||||
UNIT_TEST("Artist Tag Lookup", test_artist_tag_lookup),
|
||||
UNIT_TEST("Artist Tag", test_artist),
|
||||
UNIT_TEST("Artist Comparison", test_artist_compare),
|
||||
UNIT_TEST("Artist Database", test_artist_db),
|
||||
);
|
||||
|
|
Loading…
Reference in New Issue