MCPcopy Create free account
hub / github.com/apache/arrow / TEST

Function TEST

cpp/src/arrow/util/queue_test.cc:26–52  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

24namespace util {
25
26TEST(TestSpscQueue, TestMoveOnly) {
27 SpscQueue<MoveOnlyDataType> queue(3);
28 ASSERT_TRUE(queue.IsEmpty());
29 ASSERT_FALSE(queue.IsFull());
30 ASSERT_EQ(queue.SizeGuess(), 0);
31
32 MoveOnlyDataType in(42);
33 queue.Write(std::move(in));
34 ASSERT_FALSE(queue.IsEmpty());
35 ASSERT_FALSE(queue.IsFull());
36 ASSERT_EQ(queue.SizeGuess(), 1);
37
38 queue.Write(43);
39 ASSERT_FALSE(queue.IsEmpty());
40 ASSERT_TRUE(queue.IsFull());
41 ASSERT_EQ(queue.SizeGuess(), 2);
42
43 MoveOnlyDataType out = std::move(*queue.FrontPtr());
44 ASSERT_EQ(42, *out.data);
45 queue.PopFront();
46 ASSERT_TRUE(queue.Read(out));
47 ASSERT_EQ(43, *out.data);
48
49 ASSERT_TRUE(queue.IsEmpty());
50 ASSERT_FALSE(queue.IsFull());
51 ASSERT_EQ(queue.SizeGuess(), 0);
52}
53
54} // namespace util
55} // namespace arrow

Callers

nothing calls this directly

Calls 2

WriteMethod · 0.45
ReadMethod · 0.45

Tested by

no test coverage detected