#include "../../jlib/util/id_queue.h" #include <assert.h> template <typename Q> void test(typename Q::value_type max_val = 100) { Q q; typedef Q::value_type T; for (T i = 0; i < max_val; i++) { assert(q.aquire() == i); } assert(q.aquire() == max_val); for (T i = 0; i < max_val; i++) { q.release(i); } for (T i = 0; i < max_val; i++) { assert(q.aquire() == i); } } int main() { /*jlib::IntIdQ q(0, 100); for (int i = 0; i < 100; i++) { assert(q.aquire() == i); } assert(q.aquire() == 100); for (int i = 0; i < 100; i++) { q.release(i); } for (int i = 0; i < 100; i++) { assert(q.aquire() == i); }*/ test<jlib::IntIdQ>(); test<jlib::IntIdQ2>(); test<jlib::UInt32IdQ>(); test<jlib::UInt32IdQ2>(); test<jlib::UInt64IdQ>(); test<jlib::UInt64IdQ2>(); }