#ifndef CHROME_BROWSER_NOTIFICATIONS_SCHEDULER_TEST_TEST_UTILS_H_
#define CHROME_BROWSER_NOTIFICATIONS_SCHEDULER_TEST_TEST_UTILS_H_
#include <memory>
#include <optional>
#include <string>
#include <vector>
#include "base/time/time.h"
#include "chrome/browser/notifications/scheduler/internal/impression_history_tracker.h"
#include "chrome/browser/notifications/scheduler/internal/impression_types.h"
#include "chrome/browser/notifications/scheduler/public/notification_scheduler_types.h"
namespace notifications {
struct NotificationData;
struct NotificationEntry;
namespace test {
struct ImpressionTestData { … };
void AddImpressionTestData(const ImpressionTestData& data,
ClientState* client_state);
void AddImpressionTestData(
const std::vector<ImpressionTestData>& test_data,
ImpressionHistoryTracker::ClientStates* client_states);
void AddImpressionTestData(
const std::vector<ImpressionTestData>& test_data,
std::vector<std::unique_ptr<ClientState>>* client_states);
Impression CreateImpression(const base::Time& create_time,
UserFeedback feedback,
ImpressionResult impression,
bool integrated,
const std::string& guid,
SchedulerClientType type);
std::string DebugString(const NotificationData* data);
std::string DebugString(const NotificationEntry* entry);
std::string DebugString(const ClientState* client_state);
}
}
#endif