ocarina/tests/core/tags/track.cpp

63 lines
1.9 KiB
C++

/**
* @file
* Copyright 2014 (c) Anna Schumaker.
*/
#include <core/tags/track.h>
#include <tests/test.h>
static void test_track_tag_default()
{
Track track;
test_equal(track.album(), (Album *)NULL);
test_equal(track.artist(), (Artist *)NULL);
test_equal(track.genre(), (Genre *)NULL);
test_equal(track.library(), (Library *)NULL);
test_equal(track.name(), (std::string)"");
test_equal(track.lowercase(), (std::string)"");
test_equal(track.primary_key(), (std::string)"");
test_equal(track.title, (std::string)"");
test_equal(track.title_lower, (std::string)"");
test_equal(track.filepath, (std::string)"");
test_equal(track.length_str, (std::string)"");
test_equal(track.track(), (unsigned)0);
test_equal(track.length, (unsigned)0);
test_equal(track.play_count, (unsigned)0);
test_equal(track.last_year, (unsigned)0);
test_equal(track.last_month, (unsigned)0);
test_equal(track.last_day, (unsigned)0);
}
static void test_track_tag_constructor()
{
Album *album = tags :: get_album("Hyrule Symphony", 1998);
Artist *artist = tags :: get_artist("Koji Kondo");
Genre *genre = tags :: get_genre("Video Game Music");
Library *library = tags :: get_library("/home/Zelda/Music");
Track track(album, artist, genre, library, 13);
test_equal(track.album(), album);
test_equal(track.artist(), artist);
test_equal(track.genre(), genre);
test_equal(track.library(), library);
test_equal(library->size(), (unsigned)1);
test_equal(track.track(), (unsigned)13);
}
static void test_track_tag_destructor()
{
Library *library = tags :: get_library("/home/Zelda/Music");
test_equal(library->size(), (unsigned)0);
}
int main(int argc, char **argv)
{
run_test("Track Tag Default Constructor Test", test_track_tag_default);
run_test("Track Tag Constructor Test", test_track_tag_constructor);
run_test("Track Tag Destructor Test", test_track_tag_destructor);
return 0;
}