Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(60)

Side by Side Diff: components/ntp_snippets/user_classifier_unittest.cc

Issue 2782233002: Drop ntp_snippets::kStudyName in chrome://flags (Closed)
Patch Set: rebase Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « components/ntp_snippets/remote/remote_suggestions_scheduler_impl_unittest.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/ntp_snippets/user_classifier.h" 5 #include "components/ntp_snippets/user_classifier.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 user_classifier->OnEvent(UserClassifier::Metric::SUGGESTIONS_USED); 83 user_classifier->OnEvent(UserClassifier::Metric::SUGGESTIONS_USED);
84 } 84 }
85 EXPECT_THAT(user_classifier->GetUserClass(), 85 EXPECT_THAT(user_classifier->GetUserClass(),
86 Eq(UserClassifier::UserClass::ACTIVE_SUGGESTIONS_CONSUMER)); 86 Eq(UserClassifier::UserClass::ACTIVE_SUGGESTIONS_CONSUMER));
87 } 87 }
88 88
89 TEST_F(UserClassifierTest, 89 TEST_F(UserClassifierTest,
90 ShouldBecomeActiveSuggestionsConsumerByClickingOftenWithDecreasedParam) { 90 ShouldBecomeActiveSuggestionsConsumerByClickingOftenWithDecreasedParam) {
91 // Increase the param to one half. 91 // Increase the param to one half.
92 variations::testing::VariationParamsManager variation_params( 92 variations::testing::VariationParamsManager variation_params(
93 kStudyName, 93 kArticleSuggestionsFeature.name,
94 {{"user_classifier_active_consumer_clicks_at_least_once_per_hours", 94 {{"user_classifier_active_consumer_clicks_at_least_once_per_hours",
95 "36"}}, 95 "36"}},
96 {kArticleSuggestionsFeature.name}); 96 {kArticleSuggestionsFeature.name});
97 UserClassifier* user_classifier = CreateUserClassifier(); 97 UserClassifier* user_classifier = CreateUserClassifier();
98 98
99 // After two clicks still only an active user. 99 // After two clicks still only an active user.
100 user_classifier->OnEvent(UserClassifier::Metric::SUGGESTIONS_USED); 100 user_classifier->OnEvent(UserClassifier::Metric::SUGGESTIONS_USED);
101 test_clock()->Advance(base::TimeDelta::FromHours(1)); 101 test_clock()->Advance(base::TimeDelta::FromHours(1));
102 user_classifier->OnEvent(UserClassifier::Metric::SUGGESTIONS_USED); 102 user_classifier->OnEvent(UserClassifier::Metric::SUGGESTIONS_USED);
103 EXPECT_THAT(user_classifier->GetUserClass(), 103 EXPECT_THAT(user_classifier->GetUserClass(),
(...skipping 17 matching lines...) Expand all
121 // Two more days to become a rare user. 121 // Two more days to become a rare user.
122 test_clock()->Advance(base::TimeDelta::FromDays(2)); 122 test_clock()->Advance(base::TimeDelta::FromDays(2));
123 EXPECT_THAT(user_classifier->GetUserClass(), 123 EXPECT_THAT(user_classifier->GetUserClass(),
124 Eq(UserClassifier::UserClass::RARE_NTP_USER)); 124 Eq(UserClassifier::UserClass::RARE_NTP_USER));
125 } 125 }
126 126
127 TEST_F(UserClassifierTest, 127 TEST_F(UserClassifierTest,
128 ShouldBecomeRareNtpUserByNoActivityWithDecreasedParam) { 128 ShouldBecomeRareNtpUserByNoActivityWithDecreasedParam) {
129 // Decrease the param to one half. 129 // Decrease the param to one half.
130 variations::testing::VariationParamsManager variation_params( 130 variations::testing::VariationParamsManager variation_params(
131 kStudyName, 131 kArticleSuggestionsFeature.name,
132 {{"user_classifier_rare_user_opens_ntp_at_most_once_per_hours", "48"}}, 132 {{"user_classifier_rare_user_opens_ntp_at_most_once_per_hours", "48"}},
133 {kArticleSuggestionsFeature.name}); 133 {kArticleSuggestionsFeature.name});
134 UserClassifier* user_classifier = CreateUserClassifier(); 134 UserClassifier* user_classifier = CreateUserClassifier();
135 135
136 // After one days of waiting still an active user. 136 // After one days of waiting still an active user.
137 test_clock()->Advance(base::TimeDelta::FromDays(1)); 137 test_clock()->Advance(base::TimeDelta::FromDays(1));
138 EXPECT_THAT(user_classifier->GetUserClass(), 138 EXPECT_THAT(user_classifier->GetUserClass(),
139 Eq(UserClassifier::UserClass::ACTIVE_NTP_USER)); 139 Eq(UserClassifier::UserClass::ACTIVE_NTP_USER));
140 140
141 // One more day to become a rare user. 141 // One more day to become a rare user.
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 double old_metric = user_classifier->GetEstimatedAvgTime(metric); 223 double old_metric = user_classifier->GetEstimatedAvgTime(metric);
224 user_classifier->OnEvent(metric); 224 user_classifier->OnEvent(metric);
225 EXPECT_THAT(user_classifier->GetEstimatedAvgTime(metric), Lt(old_metric)); 225 EXPECT_THAT(user_classifier->GetEstimatedAvgTime(metric), Lt(old_metric));
226 } 226 }
227 227
228 TEST_P(UserClassifierMetricTest, 228 TEST_P(UserClassifierMetricTest,
229 ShouldIgnoreSubsequentEventsWithIncreasedLimit) { 229 ShouldIgnoreSubsequentEventsWithIncreasedLimit) {
230 UserClassifier::Metric metric = GetParam().first; 230 UserClassifier::Metric metric = GetParam().first;
231 // Increase the min_hours to 1.0, i.e. 60 minutes. 231 // Increase the min_hours to 1.0, i.e. 60 minutes.
232 variations::testing::VariationParamsManager variation_params( 232 variations::testing::VariationParamsManager variation_params(
233 kStudyName, {{"user_classifier_min_hours", "1.0"}}, 233 kArticleSuggestionsFeature.name, {{"user_classifier_min_hours", "1.0"}},
234 {kArticleSuggestionsFeature.name}); 234 {kArticleSuggestionsFeature.name});
235 UserClassifier* user_classifier = CreateUserClassifier(); 235 UserClassifier* user_classifier = CreateUserClassifier();
236 236
237 // The initial event 237 // The initial event
238 user_classifier->OnEvent(metric); 238 user_classifier->OnEvent(metric);
239 // Subsequent events get ignored for the next 60 minutes. 239 // Subsequent events get ignored for the next 60 minutes.
240 for (int i = 0; i < 11; i++) { 240 for (int i = 0; i < 11; i++) {
241 test_clock()->Advance(base::TimeDelta::FromMinutes(5)); 241 test_clock()->Advance(base::TimeDelta::FromMinutes(5));
242 double old_metric = user_classifier->GetEstimatedAvgTime(metric); 242 double old_metric = user_classifier->GetEstimatedAvgTime(metric);
243 user_classifier->OnEvent(metric); 243 user_classifier->OnEvent(metric);
(...skipping 26 matching lines...) Expand all
270 // The results should be the same. 270 // The results should be the same.
271 EXPECT_THAT(user_classifier->GetEstimatedAvgTime(metric), 271 EXPECT_THAT(user_classifier->GetEstimatedAvgTime(metric),
272 Eq(metric_after_a_year)); 272 Eq(metric_after_a_year));
273 } 273 }
274 274
275 TEST_P(UserClassifierMetricTest, 275 TEST_P(UserClassifierMetricTest,
276 ShouldCapDelayBetweenEventsWithDecreasedLimit) { 276 ShouldCapDelayBetweenEventsWithDecreasedLimit) {
277 UserClassifier::Metric metric = GetParam().first; 277 UserClassifier::Metric metric = GetParam().first;
278 // Decrease the max_hours to 72, i.e. 3 days. 278 // Decrease the max_hours to 72, i.e. 3 days.
279 variations::testing::VariationParamsManager variation_params( 279 variations::testing::VariationParamsManager variation_params(
280 kStudyName, {{"user_classifier_max_hours", "72"}}, 280 kArticleSuggestionsFeature.name, {{"user_classifier_max_hours", "72"}},
281 {kArticleSuggestionsFeature.name}); 281 {kArticleSuggestionsFeature.name});
282 UserClassifier* user_classifier = CreateUserClassifier(); 282 UserClassifier* user_classifier = CreateUserClassifier();
283 283
284 // The initial event 284 // The initial event
285 user_classifier->OnEvent(metric); 285 user_classifier->OnEvent(metric);
286 // Wait for an insane amount of time 286 // Wait for an insane amount of time
287 test_clock()->Advance(base::TimeDelta::FromDays(365)); 287 test_clock()->Advance(base::TimeDelta::FromDays(365));
288 user_classifier->OnEvent(metric); 288 user_classifier->OnEvent(metric);
289 double metric_after_a_year = user_classifier->GetEstimatedAvgTime(metric); 289 double metric_after_a_year = user_classifier->GetEstimatedAvgTime(metric);
290 290
(...skipping 17 matching lines...) Expand all
308 "NewTabPage.UserClassifier.AverageHoursToOpenNTP"), 308 "NewTabPage.UserClassifier.AverageHoursToOpenNTP"),
309 std::make_pair( 309 std::make_pair(
310 UserClassifier::Metric::SUGGESTIONS_SHOWN, 310 UserClassifier::Metric::SUGGESTIONS_SHOWN,
311 "NewTabPage.UserClassifier.AverageHoursToShowSuggestions"), 311 "NewTabPage.UserClassifier.AverageHoursToShowSuggestions"),
312 std::make_pair( 312 std::make_pair(
313 UserClassifier::Metric::SUGGESTIONS_USED, 313 UserClassifier::Metric::SUGGESTIONS_USED,
314 "NewTabPage.UserClassifier.AverageHoursToUseSuggestions"))); 314 "NewTabPage.UserClassifier.AverageHoursToUseSuggestions")));
315 315
316 } // namespace 316 } // namespace
317 } // namespace ntp_snippets 317 } // namespace ntp_snippets
OLDNEW
« no previous file with comments | « components/ntp_snippets/remote/remote_suggestions_scheduler_impl_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698