#include "quiche/common/btree_scheduler.h"
#include <optional>
#include <ostream>
#include <string>
#include <tuple>
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/types/span.h"
#include "quiche/common/platform/api/quiche_test.h"
#include "quiche/common/test_tools/quiche_test_utils.h"
namespace quiche::test {
namespace {
ElementsAre;
Optional;
template <typename Id, typename Priority>
void ScheduleIds(BTreeScheduler<Id, Priority>& scheduler,
absl::Span<const Id> ids) { … }
template <typename Id, typename Priority>
std::vector<Id> PopAll(BTreeScheduler<Id, Priority>& scheduler) { … }
TEST(BTreeSchedulerTest, SimplePop) { … }
TEST(BTreeSchedulerTest, FIFO) { … }
TEST(BTreeSchedulerTest, NumEntriesInRange) { … }
TEST(BTreeSchedulerTest, Registration) { … }
TEST(BTreeSchedulerTest, UpdatePriorityUp) { … }
TEST(BTreeSchedulerTest, UpdatePriorityDown) { … }
TEST(BTreeSchedulerTest, UpdatePriorityEqual) { … }
TEST(BTreeSchedulerTest, UpdatePriorityIntoSameBucket) { … }
TEST(BTreeSchedulerTest, ShouldYield) { … }
struct CustomPriority { … };
TEST(BTreeSchedulerTest, CustomPriority) { … }
struct CustomId { … };
std::ostream& operator<<(std::ostream& os, const CustomId& id) { … }
TEST(BTreeSchedulerTest, CustomIds) { … }
}
}