mirror of
https://github.com/gabime/spdlog.git
synced 2024-11-15 08:25:43 +08:00
49 lines
915 B
C++
49 lines
915 B
C++
|
#include "includes.h"
|
||
|
#include "spdlog/details/circular_q.h"
|
||
|
|
||
|
using q_type = spdlog::details::circular_q<int>;
|
||
|
TEST_CASE("test_size", "[circular_q]")
|
||
|
{
|
||
|
size_t q_size = 4;
|
||
|
q_type q(q_size);
|
||
|
REQUIRE(q.size() == 0);
|
||
|
REQUIRE(q.empty() == true);
|
||
|
for (int i = 0; i < q_size; i++)
|
||
|
{
|
||
|
q.push_back(std::move(i));
|
||
|
}
|
||
|
REQUIRE(q.size() == q_size);
|
||
|
q.push_back(999);
|
||
|
REQUIRE(q.size() == q_size);
|
||
|
}
|
||
|
|
||
|
TEST_CASE("test_rolling", "[circular_q]")
|
||
|
{
|
||
|
const size_t q_size = 4;
|
||
|
q_type q(q_size);
|
||
|
|
||
|
for (size_t i = 0; i < q_size + 2; i++)
|
||
|
{
|
||
|
q.push_back(i);
|
||
|
}
|
||
|
|
||
|
REQUIRE(q.size() == q_size);
|
||
|
|
||
|
REQUIRE(q.front() == 2);
|
||
|
q.pop_front();
|
||
|
|
||
|
REQUIRE(q.front() == 3);
|
||
|
q.pop_front();
|
||
|
|
||
|
REQUIRE(q.front() == 4);
|
||
|
q.pop_front();
|
||
|
|
||
|
REQUIRE(q.front() == 5);
|
||
|
q.pop_front();
|
||
|
|
||
|
REQUIRE(q.empty());
|
||
|
|
||
|
q.push_back(6);
|
||
|
REQUIRE(q.front() == 6);
|
||
|
}
|