1
0
Fork 0
mirror of https://gitlab.com/niansa/libasync.git synced 2025-03-06 20:53:29 +01:00
libasync/tests/queue.cpp

25 lines
505 B
C++

#include <new>
#include <async/queue.hpp>
#include <async/result.hpp>
#include <gtest/gtest.h>
#include <frg/std_compat.hpp>
TEST(Queue, PutGet) {
async::queue<int, frg::stl_allocator> q;
q.put(42);
q.put(21);
auto v1 = async::run(q.async_get());
auto v2 = async::run(q.async_get());
ASSERT_EQ(v1, 42);
ASSERT_EQ(v2, 21);
}
TEST(Queue, Cancel) {
async::cancellation_event ce;
async::queue<int, frg::stl_allocator> q;
ce.cancel();
auto v1 = async::run(q.async_get(ce));
ASSERT_FALSE(v1);
}