98 lines
1.5 KiB
C++
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;
|
|
}
|