From 35f19d98ef3f67ff7d22b206760c98f4f458618f Mon Sep 17 00:00:00 2001 From: Anna Schumaker Date: Sat, 26 Apr 2014 11:00:44 -0400 Subject: [PATCH] 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 --- lib/queue.cpp | 2 -- tests/queue | 1 - tests/src/queue.cpp | 26 ++++++++++++++++++++++++++ tests/src/test.h | 5 +++++ 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/lib/queue.cpp b/lib/queue.cpp index c153fb5d..ea906cca 100644 --- a/lib/queue.cpp +++ b/lib/queue.cpp @@ -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) diff --git a/tests/queue b/tests/queue index fe39791d..791fe29c 100755 --- a/tests/queue +++ b/tests/queue @@ -3,5 +3,4 @@ . $(dirname $0)/_functions -echo "Queue test" ./src/queue.run diff --git a/tests/src/queue.cpp b/tests/src/queue.cpp index 706e6f68..545e5bbc 100644 --- a/tests/src/queue.cpp +++ b/tests/src/queue.cpp @@ -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; } diff --git a/tests/src/test.h b/tests/src/test.h index 3f74dee5..fea0e20f 100644 --- a/tests/src/test.h +++ b/tests/src/test.h @@ -23,6 +23,11 @@ namespace test test_num++; } + void end() + { + std::cout << std::endl; + } + template void assert_equal(const T &lhs, const T &rhs) {