| Index: components/feature_engagement_tracker/internal/model_impl_unittest.cc
|
| diff --git a/components/feature_engagement_tracker/internal/model_impl_unittest.cc b/components/feature_engagement_tracker/internal/model_impl_unittest.cc
|
| index 00a749dbfb1a09e9168383f4a4f669f6bc69873d..3b59d186991ed04fd39b945fc9cc117e28e631a0 100644
|
| --- a/components/feature_engagement_tracker/internal/model_impl_unittest.cc
|
| +++ b/components/feature_engagement_tracker/internal/model_impl_unittest.cc
|
| @@ -18,6 +18,7 @@
|
| #include "components/feature_engagement_tracker/internal/in_memory_store.h"
|
| #include "components/feature_engagement_tracker/internal/never_storage_validator.h"
|
| #include "components/feature_engagement_tracker/internal/proto/event.pb.h"
|
| +#include "components/feature_engagement_tracker/internal/test/event_util.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| namespace feature_engagement_tracker {
|
| @@ -37,42 +38,6 @@ void RegisterFeatureConfig(EditableConfiguration* configuration,
|
| configuration->SetConfiguration(&feature, config);
|
| }
|
|
|
| -void SetEventCountForDay(Event* event, uint32_t day, uint32_t count) {
|
| - Event_Count* event_count = event->add_events();
|
| - event_count->set_day(day);
|
| - event_count->set_count(count);
|
| -}
|
| -
|
| -// Verifies that the given |event| contains a |day| with the correct |count|,
|
| -// and that the day only exists a single time.
|
| -void VerifyEventCount(const Event* event, uint32_t day, uint32_t count) {
|
| - bool found_day = false;
|
| - for (int i = 0; i < event->events_size(); ++i) {
|
| - Event_Count event_count = event->events(i);
|
| - if (event_count.day() == day) {
|
| - EXPECT_FALSE(found_day);
|
| - found_day = true;
|
| - EXPECT_EQ(count, event_count.count());
|
| - }
|
| - }
|
| - EXPECT_TRUE(found_day);
|
| -}
|
| -
|
| -// Verifies that the event |a| and |b| contain the exact same data.
|
| -void VerifyEqual(const Event* a, const Event* b) {
|
| - if (!a || !b) {
|
| - // If one of the events are nullptr, both should be nullptr.
|
| - ASSERT_EQ(a, b);
|
| - return;
|
| - }
|
| -
|
| - EXPECT_EQ(a->name(), b->name());
|
| - EXPECT_EQ(a->events_size(), b->events_size());
|
| - for (int i = 0; i < a->events_size(); ++i) {
|
| - VerifyEventCount(b, a->events(i).day(), a->events(i).count());
|
| - }
|
| -}
|
| -
|
| // A test-only implementation of InMemoryStore that tracks calls to
|
| // WriteEvent(...).
|
| class TestInMemoryStore : public InMemoryStore {
|
| @@ -108,21 +73,21 @@ std::unique_ptr<TestInMemoryStore> CreatePrefilledStore() {
|
|
|
| Event foo;
|
| foo.set_name("foo");
|
| - SetEventCountForDay(&foo, 1, 1);
|
| + test::SetEventCountForDay(&foo, 1, 1);
|
| events->push_back(foo);
|
|
|
| Event bar;
|
| bar.set_name("bar");
|
| - SetEventCountForDay(&bar, 1, 3);
|
| - SetEventCountForDay(&bar, 2, 3);
|
| - SetEventCountForDay(&bar, 5, 5);
|
| + test::SetEventCountForDay(&bar, 1, 3);
|
| + test::SetEventCountForDay(&bar, 2, 3);
|
| + test::SetEventCountForDay(&bar, 5, 5);
|
| events->push_back(bar);
|
|
|
| Event qux;
|
| qux.set_name("qux");
|
| - SetEventCountForDay(&qux, 1, 5);
|
| - SetEventCountForDay(&qux, 2, 1);
|
| - SetEventCountForDay(&qux, 3, 2);
|
| + test::SetEventCountForDay(&qux, 1, 5);
|
| + test::SetEventCountForDay(&qux, 2, 1);
|
| + test::SetEventCountForDay(&qux, 3, 2);
|
| events->push_back(qux);
|
|
|
| return base::MakeUnique<TestInMemoryStore>(std::move(events), true);
|
| @@ -216,21 +181,21 @@ TEST_F(ModelImplTest, InitializeShouldLoadEntries) {
|
| const Event* foo_event = model_->GetEvent("foo");
|
| EXPECT_EQ("foo", foo_event->name());
|
| EXPECT_EQ(1, foo_event->events_size());
|
| - VerifyEventCount(foo_event, 1u, 1u);
|
| + test::VerifyEventCount(foo_event, 1u, 1u);
|
|
|
| const Event* bar_event = model_->GetEvent("bar");
|
| EXPECT_EQ("bar", bar_event->name());
|
| EXPECT_EQ(3, bar_event->events_size());
|
| - VerifyEventCount(bar_event, 1u, 3u);
|
| - VerifyEventCount(bar_event, 2u, 3u);
|
| - VerifyEventCount(bar_event, 5u, 5u);
|
| + test::VerifyEventCount(bar_event, 1u, 3u);
|
| + test::VerifyEventCount(bar_event, 2u, 3u);
|
| + test::VerifyEventCount(bar_event, 5u, 5u);
|
|
|
| const Event* qux_event = model_->GetEvent("qux");
|
| EXPECT_EQ("qux", qux_event->name());
|
| EXPECT_EQ(3, qux_event->events_size());
|
| - VerifyEventCount(qux_event, 1u, 5u);
|
| - VerifyEventCount(qux_event, 2u, 1u);
|
| - VerifyEventCount(qux_event, 3u, 2u);
|
| + test::VerifyEventCount(qux_event, 1u, 5u);
|
| + test::VerifyEventCount(qux_event, 2u, 1u);
|
| + test::VerifyEventCount(qux_event, 3u, 2u);
|
| }
|
|
|
| TEST_F(ModelImplTest, RetrievingNewEventsShouldYieldNullptr) {
|
| @@ -241,7 +206,7 @@ TEST_F(ModelImplTest, RetrievingNewEventsShouldYieldNullptr) {
|
|
|
| const Event* no_event = model_->GetEvent("no");
|
| EXPECT_EQ(nullptr, no_event);
|
| - VerifyEqual(nullptr, store_->GetLastWrittenEvent());
|
| + test::VerifyEventsEqual(nullptr, store_->GetLastWrittenEvent());
|
| }
|
|
|
| TEST_F(ModelImplTest, IncrementingNonExistingEvent) {
|
| @@ -257,8 +222,8 @@ TEST_F(ModelImplTest, IncrementingNonExistingEvent) {
|
| const Event* event1 = model_->GetEvent("nonexisting");
|
| EXPECT_EQ("nonexisting", event1->name());
|
| EXPECT_EQ(1, event1->events_size());
|
| - VerifyEventCount(event1, 1u, 1u);
|
| - VerifyEqual(event1, store_->GetLastWrittenEvent());
|
| + test::VerifyEventCount(event1, 1u, 1u);
|
| + test::VerifyEventsEqual(event1, store_->GetLastWrittenEvent());
|
|
|
| // Incrementing the event after it has been initialized to 1, it should now
|
| // have a count of 2 for the given day.
|
| @@ -266,8 +231,8 @@ TEST_F(ModelImplTest, IncrementingNonExistingEvent) {
|
| const Event* event2 = model_->GetEvent("nonexisting");
|
| Event_Count event2_count = event2->events(0);
|
| EXPECT_EQ(1, event2->events_size());
|
| - VerifyEventCount(event2, 1u, 2u);
|
| - VerifyEqual(event2, store_->GetLastWrittenEvent());
|
| + test::VerifyEventCount(event2, 1u, 2u);
|
| + test::VerifyEventsEqual(event2, store_->GetLastWrittenEvent());
|
| }
|
|
|
| TEST_F(ModelImplTest, IncrementingNonExistingEventMultipleDays) {
|
| @@ -285,10 +250,10 @@ TEST_F(ModelImplTest, IncrementingNonExistingEventMultipleDays) {
|
| model_->IncrementEvent("nonexisting");
|
| const Event* event = model_->GetEvent("nonexisting");
|
| EXPECT_EQ(3, event->events_size());
|
| - VerifyEventCount(event, 1u, 1u);
|
| - VerifyEventCount(event, 2u, 2u);
|
| - VerifyEventCount(event, 3u, 1u);
|
| - VerifyEqual(event, store_->GetLastWrittenEvent());
|
| + test::VerifyEventCount(event, 1u, 1u);
|
| + test::VerifyEventCount(event, 2u, 2u);
|
| + test::VerifyEventCount(event, 3u, 1u);
|
| + test::VerifyEventsEqual(event, store_->GetLastWrittenEvent());
|
| }
|
|
|
| TEST_F(ModelImplTest, IncrementingSingleDayExistingEvent) {
|
| @@ -303,14 +268,14 @@ TEST_F(ModelImplTest, IncrementingSingleDayExistingEvent) {
|
| const Event* foo_event = model_->GetEvent("foo");
|
| EXPECT_EQ("foo", foo_event->name());
|
| EXPECT_EQ(1, foo_event->events_size());
|
| - VerifyEventCount(foo_event, 1u, 1u);
|
| + test::VerifyEventCount(foo_event, 1u, 1u);
|
|
|
| // Incrementing |foo| should change count to 2.
|
| model_->IncrementEvent("foo");
|
| const Event* foo_event2 = model_->GetEvent("foo");
|
| EXPECT_EQ(1, foo_event2->events_size());
|
| - VerifyEventCount(foo_event2, 1u, 2u);
|
| - VerifyEqual(foo_event2, store_->GetLastWrittenEvent());
|
| + test::VerifyEventCount(foo_event2, 1u, 2u);
|
| + test::VerifyEventsEqual(foo_event2, store_->GetLastWrittenEvent());
|
| }
|
|
|
| TEST_F(ModelImplTest, IncrementingSingleDayExistingEventTwice) {
|
| @@ -327,8 +292,8 @@ TEST_F(ModelImplTest, IncrementingSingleDayExistingEventTwice) {
|
| model_->IncrementEvent("foo");
|
| const Event* foo_event = model_->GetEvent("foo");
|
| EXPECT_EQ(1, foo_event->events_size());
|
| - VerifyEventCount(foo_event, 1u, 3u);
|
| - VerifyEqual(foo_event, store_->GetLastWrittenEvent());
|
| + test::VerifyEventCount(foo_event, 1u, 3u);
|
| + test::VerifyEventsEqual(foo_event, store_->GetLastWrittenEvent());
|
| }
|
|
|
| TEST_F(ModelImplTest, IncrementingExistingMultiDayEvent) {
|
| @@ -341,11 +306,11 @@ TEST_F(ModelImplTest, IncrementingExistingMultiDayEvent) {
|
| // that day should lead to a count of 4.
|
| model_->SetCurrentDay(2u);
|
| const Event* bar_event = model_->GetEvent("bar");
|
| - VerifyEventCount(bar_event, 2u, 3u);
|
| + test::VerifyEventCount(bar_event, 2u, 3u);
|
| model_->IncrementEvent("bar");
|
| const Event* bar_event2 = model_->GetEvent("bar");
|
| - VerifyEventCount(bar_event2, 2u, 4u);
|
| - VerifyEqual(bar_event2, store_->GetLastWrittenEvent());
|
| + test::VerifyEventCount(bar_event2, 2u, 4u);
|
| + test::VerifyEventsEqual(bar_event2, store_->GetLastWrittenEvent());
|
| }
|
|
|
| TEST_F(ModelImplTest, IncrementingExistingMultiDayEventNewDay) {
|
| @@ -359,12 +324,12 @@ TEST_F(ModelImplTest, IncrementingExistingMultiDayEventNewDay) {
|
| model_->SetCurrentDay(10u);
|
| model_->IncrementEvent("bar");
|
| const Event* bar_event = model_->GetEvent("bar");
|
| - VerifyEventCount(bar_event, 10u, 1u);
|
| - VerifyEqual(bar_event, store_->GetLastWrittenEvent());
|
| + test::VerifyEventCount(bar_event, 10u, 1u);
|
| + test::VerifyEventsEqual(bar_event, store_->GetLastWrittenEvent());
|
| model_->IncrementEvent("bar");
|
| const Event* bar_event2 = model_->GetEvent("bar");
|
| - VerifyEventCount(bar_event2, 10u, 2u);
|
| - VerifyEqual(bar_event2, store_->GetLastWrittenEvent());
|
| + test::VerifyEventCount(bar_event2, 10u, 2u);
|
| + test::VerifyEventsEqual(bar_event2, store_->GetLastWrittenEvent());
|
| }
|
|
|
| TEST_F(ModelImplTest, ShowState) {
|
|
|