#include "AudioTools.h" #include "AudioTools/Concurrency/LockFree/QueueLockFree.h" #include "AudioTools/Concurrency/RTOS/QueueRTOS.h" // test different queue implementations: template void test(T &q, const char* cls){ Serial.println(cls); assert(q.empty()); for (int j=0;j<10;j++){ q.enqueue(j); assert(!q.empty()); assert(q.size()==j+1); } int number; for (int j=0;j<10;j++){ q.dequeue(number); assert(number == j); assert(q.size()==10-(j+1)); } assert(q.empty()); Serial.println("ok"); } void setup() { Serial.begin(115200); Queue q1; test>(q1,"Queue"); QueueFromVector q2{10, 0}; test>(q2,"QueueFromVector"); QueueLockFree q3(10); test>(q3,"QueueLockFree"); QueueRTOS q4(10); test>(q4,"QueueRTOS"); Serial.println("all tests passed"); } void loop(){}