queue: Add tests for queue flags
I remove the "on_queue_changed" callback in the flag handler functions, so changes won't trigger a save until I can update later layers. Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
parent
78fe570e36
commit
35f19d98ef
|
@ -48,13 +48,11 @@ void Queue :: read(File &f)
|
||||||
void Queue :: set_flag(queue_flags f)
|
void Queue :: set_flag(queue_flags f)
|
||||||
{
|
{
|
||||||
_flags |= f;
|
_flags |= f;
|
||||||
get_callbacks()->on_queue_changed();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Queue :: unset_flag(queue_flags f)
|
void Queue :: unset_flag(queue_flags f)
|
||||||
{
|
{
|
||||||
_flags &= ~f;
|
_flags &= ~f;
|
||||||
get_callbacks()->on_queue_changed();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Queue :: has_flag(queue_flags f)
|
bool Queue :: has_flag(queue_flags f)
|
||||||
|
|
|
@ -3,5 +3,4 @@
|
||||||
|
|
||||||
. $(dirname $0)/_functions
|
. $(dirname $0)/_functions
|
||||||
|
|
||||||
echo "Queue test"
|
|
||||||
./src/queue.run
|
./src/queue.run
|
||||||
|
|
|
@ -21,6 +21,7 @@ void test_default()
|
||||||
{
|
{
|
||||||
TestQueue q;
|
TestQueue q;
|
||||||
|
|
||||||
|
test :: new_test("Queue Default Constructor Test");
|
||||||
test :: equal(q.get_cur(), (unsigned)-1);
|
test :: equal(q.get_cur(), (unsigned)-1);
|
||||||
test :: equal(q.get_flags(), (unsigned)0);
|
test :: equal(q.get_flags(), (unsigned)0);
|
||||||
test :: equal(q.get_length(), (unsigned)0);
|
test :: equal(q.get_length(), (unsigned)0);
|
||||||
|
@ -32,16 +33,41 @@ void test_constructor(unsigned int flags)
|
||||||
{
|
{
|
||||||
TestQueue q(flags | (1 << 30));
|
TestQueue q(flags | (1 << 30));
|
||||||
|
|
||||||
|
test :: new_test("Queue Constructor Test");
|
||||||
test :: equal(q.get_cur(), (unsigned)-1);
|
test :: equal(q.get_cur(), (unsigned)-1);
|
||||||
test :: equal(q.get_flags(), flags);
|
test :: equal(q.get_flags(), flags);
|
||||||
test :: equal(q.get_length(), (unsigned)0);
|
test :: equal(q.get_length(), (unsigned)0);
|
||||||
test :: equal(q.get_sorder().size(), (size_t)0);
|
test :: equal(q.get_sorder().size(), (size_t)0);
|
||||||
test :: equal(q.next(), (Track *)NULL);
|
test :: equal(q.next(), (Track *)NULL);
|
||||||
|
test :: end();
|
||||||
|
}
|
||||||
|
|
||||||
|
void test_flags()
|
||||||
|
{
|
||||||
|
TestQueue q(0);
|
||||||
|
|
||||||
|
test :: new_test("Queue Flag Test");
|
||||||
|
test :: equal(q.get_flags(), (unsigned)0);
|
||||||
|
|
||||||
|
q.set_flag(Q_ENABLED);
|
||||||
|
test :: equal(q.get_flags(), (unsigned)Q_ENABLED);
|
||||||
|
|
||||||
|
q.unset_flag(Q_ENABLED);
|
||||||
|
test :: equal(q.get_flags(), (unsigned)0);
|
||||||
|
|
||||||
|
q.set_flag(Q_REPEAT);
|
||||||
|
q.set_flag(Q_RANDOM);
|
||||||
|
test :: equal(q.has_flag(Q_ENABLED), false);
|
||||||
|
test :: equal(q.has_flag(Q_RANDOM), true);
|
||||||
|
test :: equal(q.has_flag(Q_REPEAT), true);
|
||||||
|
test :: equal(q.has_flag(Q_NO_SORT), false);
|
||||||
|
test ::end();
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
test_default();
|
test_default();
|
||||||
test_constructor(Q_ENABLED | Q_RANDOM);
|
test_constructor(Q_ENABLED | Q_RANDOM);
|
||||||
|
test_flags();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,11 @@ namespace test
|
||||||
test_num++;
|
test_num++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void end()
|
||||||
|
{
|
||||||
|
std::cout << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
void assert_equal(const T &lhs, const T &rhs)
|
void assert_equal(const T &lhs, const T &rhs)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue