ocarina/tests/playlist/group.cpp

98 lines
1.5 KiB
C++

/*
* Copyright 2013 (c) Anna Schumaker.
*/
#include <group.h>
#include <print.h>
void list_tracks(const std::string &name)
{
std::set<unsigned int> tracks = group :: get_tracks(name);
std::set<unsigned int>::iterator it;
print("Group \"%s\": ", name.c_str());
for (it = tracks.begin(); it != tracks.end(); it++) {
if (it != tracks.begin())
print(", ");
print("%u", *it);
}
print("\n");
}
/*
* Add songs to different groups
*/
void test_0()
{
for (unsigned int i = 0; i < 128; i++) {
group :: add("All Music", i);
if (i % 3 == 0)
group :: add("Banned", i);
else
group :: add("Library", i);
}
}
/*
* Find group names
*/
void test_1()
{
std::list<std::string> groups;
std::list<std::string>::iterator it;
group :: list(groups);
for (it = groups.begin(); it != groups.end(); it++)
print("Found group: %s\n", it->c_str());
print("\n");
}
/*
* Find tracks in a group
*/
void test_2()
{
list_tracks("All Music");
list_tracks("Library");
list_tracks("Banned");
}
/*
* Delete tracks from a group
*/
void test_3()
{
print("\n");
for (unsigned int i = 0; i < 30; i+=3)
group :: del("Banned", i);
list_tracks("Banned");
}
/*
* Do stuff with groups that don't exist
*/
void test_4()
{
print("\n");
for (unsigned int i = 0; i < 10; i++)
group :: add("No Group", i);
list_tracks("No Group");
for (unsigned int i = 0; i < 10; i+=2)
group :: del("No Group", i);
list_tracks("No Group");
}
int main(int argc, char **argv)
{
test_0();
test_1();
test_2();
test_3();
test_4();
return 0;
}