proxygen
PriorityLifoSemMPMCQueueTest.cpp File Reference

Go to the source code of this file.

Functions

 TEST (PriorityLifoSemMPMCQueue, Capacities)
 

Function Documentation

TEST ( PriorityLifoSemMPMCQueue  ,
Capacities   
)

Definition at line 26 of file PriorityLifoSemMPMCQueueTest.cpp.

References folly::PriorityLifoSemMPMCQueue< T, kBehavior >::addWithPriority(), folly::enumerate(), EXPECT_NO_THROW, EXPECT_THROW, i, int8_t, and folly::range().

26  {
27  const std::vector<size_t> capacities = {1, 2, 3};
29  folly::range(capacities));
30 
31  for (auto capacity : folly::enumerate(capacities)) {
32  auto pri = static_cast<int8_t>(capacity.index) - 1;
33  for (size_t i = 0; i < *capacity; ++i) {
34  EXPECT_NO_THROW(q.addWithPriority(0, pri)) << *capacity << " " << i;
35  }
36  EXPECT_THROW(q.addWithPriority(0, pri), QueueFullException) << *capacity;
37  }
38 }
#define EXPECT_NO_THROW(statement)
Definition: gtest.h:1845
#define EXPECT_THROW(statement, expected_exception)
Definition: gtest.h:1843
constexpr Range< Iter > range(Iter first, Iter last)
Definition: Range.h:1114
detail::RangeEnumerator< Range > enumerate(Range &&r)
Definition: Enumerate.h:167