X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=folly%2Ftest%2FPriorityMPMCQueueTest.cpp;h=a129568f7793b5891a00ccd4898f6246c0978fb6;hb=eba5e7f2236a0950957a8a247a0e83385149d13c;hp=a43cca0ba1eb886d0728ce2c6e662b91641a85e8;hpb=cf24f9855c678de382e0abbf0e6de257058581f6;p=folly.git diff --git a/folly/test/PriorityMPMCQueueTest.cpp b/folly/test/PriorityMPMCQueueTest.cpp index a43cca0b..a129568f 100644 --- a/folly/test/PriorityMPMCQueueTest.cpp +++ b/folly/test/PriorityMPMCQueueTest.cpp @@ -73,3 +73,24 @@ TEST(PriorityMPMCQueue, TestPriorities) { EXPECT_EQ(6 - i, queue.sizeGuess()); } } + +TEST(PriorityMPMCQueue, TestReadWithPriority) { + PriorityMPMCQueue queue(3, 10); + EXPECT_TRUE(queue.isEmpty()); + EXPECT_EQ(3, queue.getNumPriorities()); + + queue.writeWithPriority(2, 2); + queue.writeWithPriority(1, 1); + queue.writeWithPriority(0, 0); + + EXPECT_FALSE(queue.isEmpty()); + EXPECT_EQ(3, queue.size()); + EXPECT_EQ(3, queue.sizeGuess()); + + size_t item; + for (int i = 0; i < 3; i++) { + EXPECT_TRUE(queue.readWithPriority(item, i)); + EXPECT_EQ(i, item); + EXPECT_FALSE(queue.readWithPriority(item, i)); + } +}