#include "components/feature_engagement/internal/event_model_impl.h"
#include <memory>
#include "base/feature_list.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/memory/raw_ptr.h"
#include "base/task/single_thread_task_runner.h"
#include "base/test/test_simple_task_runner.h"
#include "components/feature_engagement/internal/editable_configuration.h"
#include "components/feature_engagement/internal/in_memory_event_store.h"
#include "components/feature_engagement/internal/never_event_storage_validator.h"
#include "components/feature_engagement/internal/proto/feature_event.pb.h"
#include "components/feature_engagement/internal/test/event_util.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace feature_engagement {
namespace {
class TestInMemoryEventStore : public InMemoryEventStore { … };
class TestEventStorageValidator : public EventStorageValidator { … };
std::unique_ptr<TestInMemoryEventStore> CreatePrefilledStore() { … }
class EventModelImplTest : public ::testing::Test { … };
class LoadFailingEventModelImplTest : public EventModelImplTest { … };
}
TEST_F(EventModelImplTest, InitializeShouldBeReadyImmediatelyAfterCallback) { … }
TEST_F(EventModelImplTest, InitializeShouldLoadEntries) { … }
TEST_F(EventModelImplTest, InitializeShouldOnlyLoadEntriesThatShouldBeKept) { … }
TEST_F(EventModelImplTest, RetrievingNewEventsShouldYieldNullptr) { … }
TEST_F(EventModelImplTest, IncrementingNonExistingEvent) { … }
TEST_F(EventModelImplTest, IncrementingNonExistingEventMultipleDays) { … }
TEST_F(EventModelImplTest, IncrementingNonExistingEventWithoutStoring) { … }
TEST_F(EventModelImplTest, IncrementingExistingEventWithoutStoring) { … }
TEST_F(EventModelImplTest, IncrementingSingleDayExistingEvent) { … }
TEST_F(EventModelImplTest, IncrementingSingleDayExistingEventTwice) { … }
TEST_F(EventModelImplTest, IncrementingExistingMultiDayEvent) { … }
TEST_F(EventModelImplTest, IncrementingExistingMultiDayEventNewDay) { … }
TEST_F(EventModelImplTest, IncrementingSnoozeEvent) { … }
TEST_F(EventModelImplTest, DismissSnoozeEvent) { … }
TEST_F(EventModelImplTest, GetLastSnoozeTimestamp) { … }
TEST_F(EventModelImplTest, GetEventCount) { … }
TEST_F(LoadFailingEventModelImplTest, FailedInitializeInformsCaller) { … }
TEST_F(EventModelImplTest, ClearEvents) { … }
}