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)
|
||||
{
|
||||
_flags |= f;
|
||||
get_callbacks()->on_queue_changed();
|
||||
}
|
||||
|
||||
void Queue :: unset_flag(queue_flags f)
|
||||
{
|
||||
_flags &= ~f;
|
||||
get_callbacks()->on_queue_changed();
|
||||
}
|
||||
|
||||
bool Queue :: has_flag(queue_flags f)
|
||||
|
|
|
@ -3,5 +3,4 @@
|
|||
|
||||
. $(dirname $0)/_functions
|
||||
|
||||
echo "Queue test"
|
||||
./src/queue.run
|
||||
|
|
|
@ -21,6 +21,7 @@ void test_default()
|
|||
{
|
||||
TestQueue q;
|
||||
|
||||
test :: new_test("Queue Default Constructor Test");
|
||||
test :: equal(q.get_cur(), (unsigned)-1);
|
||||
test :: equal(q.get_flags(), (unsigned)0);
|
||||
test :: equal(q.get_length(), (unsigned)0);
|
||||
|
@ -32,16 +33,41 @@ void test_constructor(unsigned int flags)
|
|||
{
|
||||
TestQueue q(flags | (1 << 30));
|
||||
|
||||
test :: new_test("Queue Constructor Test");
|
||||
test :: equal(q.get_cur(), (unsigned)-1);
|
||||
test :: equal(q.get_flags(), flags);
|
||||
test :: equal(q.get_length(), (unsigned)0);
|
||||
test :: equal(q.get_sorder().size(), (size_t)0);
|
||||
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)
|
||||
{
|
||||
test_default();
|
||||
test_constructor(Q_ENABLED | Q_RANDOM);
|
||||
test_flags();
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -23,6 +23,11 @@ namespace test
|
|||
test_num++;
|
||||
}
|
||||
|
||||
void end()
|
||||
{
|
||||
std::cout << std::endl;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
void assert_equal(const T &lhs, const T &rhs)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue