#include "chrome/browser/notifications/scheduler/internal/display_decider.h"
#include <map>
#include <memory>
#include <string>
#include <vector>
#include "base/strings/stringprintf.h"
#include "base/test/task_environment.h"
#include "base/time/time.h"
#include "chrome/browser/notifications/scheduler/internal/notification_entry.h"
#include "chrome/browser/notifications/scheduler/internal/scheduler_config.h"
#include "chrome/browser/notifications/scheduler/public/notification_scheduler_types.h"
#include "chrome/browser/notifications/scheduler/test/fake_clock.h"
#include "chrome/browser/notifications/scheduler/test/test_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace notifications {
namespace {
const std::vector<test::ImpressionTestData> kSingleClientImpressionTestData = …;
const std::vector<test::ImpressionTestData> kClientsImpressionTestData = …;
struct TestData { … };
std::string DebugString(const DisplayDecider::Results& results) { … }
class DisplayDeciderTest : public testing::Test { … };
TEST_F(DisplayDeciderTest, NoNotification) { … }
TEST_F(DisplayDeciderTest, PickOneNotification) { … }
TEST_F(DisplayDeciderTest, OutOfDeliverTimeWindow) { … }
TEST_F(DisplayDeciderTest, ClientRotation) { … }
TEST_F(DisplayDeciderTest, ThrottleMaxDailyShowAllTypes) { … }
TEST_F(DisplayDeciderTest, ThrottlePerClient) { … }
TEST_F(DisplayDeciderTest, ThrottleSuppressedClient) { … }
TEST_F(DisplayDeciderTest, UnthrottlePriority) { … }
}
}