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

Side by Side Diff: components/translate/core/browser/language_model_unittest.cc

Issue 2449873003: [NTP Snippets] Another round of clang-tidy cleanups (Closed)
Patch Set: rebase Created 4 years, 1 month 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/translate/core/browser/language_model.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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/translate/core/browser/language_model.h" 5 #include "components/translate/core/browser/language_model.h"
6 6
7 #include "components/prefs/testing_pref_service.h" 7 #include "components/prefs/testing_pref_service.h"
8 #include "testing/gmock/include/gmock/gmock.h" 8 #include "testing/gmock/include/gmock/gmock.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
11 using testing::ElementsAre; 11 using testing::ElementsAre;
12 using testing::FloatEq; 12 using testing::FloatEq;
13 using testing::Gt; 13 using testing::Gt;
14 14
15 namespace { 15 namespace {
16 16
17 const char kLang1[] = "en"; 17 const char kLang1[] = "en";
18 const char kLang2[] = "de"; 18 const char kLang2[] = "de";
19 const char kLang3[] = "es"; 19 const char kLang3[] = "es";
20 20
21 } // namespace 21 } // namespace
22 22
23 namespace translate { 23 namespace translate {
24 24
25 bool operator==(const LanguageModel::LanguageInfo& lhs,
26 const LanguageModel::LanguageInfo& rhs) {
27 return lhs.language_code == rhs.language_code;
28 }
29
25 TEST(LanguageModelTest, ListSorted) { 30 TEST(LanguageModelTest, ListSorted) {
26 TestingPrefServiceSimple prefs; 31 TestingPrefServiceSimple prefs;
27 LanguageModel::RegisterProfilePrefs(prefs.registry()); 32 LanguageModel::RegisterProfilePrefs(prefs.registry());
28 LanguageModel model(&prefs); 33 LanguageModel model(&prefs);
29 34
30 for (int i = 0; i < 50; i++) { 35 for (int i = 0; i < 50; i++) {
31 model.OnPageVisited(kLang1); 36 model.OnPageVisited(kLang1);
32 model.OnPageVisited(kLang1); 37 model.OnPageVisited(kLang1);
33 model.OnPageVisited(kLang1); 38 model.OnPageVisited(kLang1);
34 model.OnPageVisited(kLang2); 39 model.OnPageVisited(kLang2);
35 } 40 }
36 41
42 // Note: LanguageInfo's operator== only checks the language code, not the
43 // frequency.
37 EXPECT_THAT(model.GetTopLanguages(), 44 EXPECT_THAT(model.GetTopLanguages(),
38 ElementsAre(LanguageModel::LanguageInfo{kLang1}, 45 ElementsAre(LanguageModel::LanguageInfo(kLang1, 0.0f),
39 LanguageModel::LanguageInfo{kLang2})); 46 LanguageModel::LanguageInfo(kLang2, 0.0f)));
40 } 47 }
41 48
42 TEST(LanguageModelTest, ListSortedReversed) { 49 TEST(LanguageModelTest, ListSortedReversed) {
43 TestingPrefServiceSimple prefs; 50 TestingPrefServiceSimple prefs;
44 LanguageModel::RegisterProfilePrefs(prefs.registry()); 51 LanguageModel::RegisterProfilePrefs(prefs.registry());
45 LanguageModel model(&prefs); 52 LanguageModel model(&prefs);
46 53
47 for (int i = 0; i < 50; i++) { 54 for (int i = 0; i < 50; i++) {
48 model.OnPageVisited(kLang2); 55 model.OnPageVisited(kLang2);
49 model.OnPageVisited(kLang1); 56 model.OnPageVisited(kLang1);
50 model.OnPageVisited(kLang1); 57 model.OnPageVisited(kLang1);
51 model.OnPageVisited(kLang1); 58 model.OnPageVisited(kLang1);
52 } 59 }
53 60
61 // Note: LanguageInfo's operator== only checks the language code, not the
62 // frequency.
54 EXPECT_THAT(model.GetTopLanguages(), 63 EXPECT_THAT(model.GetTopLanguages(),
55 ElementsAre(LanguageModel::LanguageInfo{kLang1}, 64 ElementsAre(LanguageModel::LanguageInfo(kLang1, 0.0f),
56 LanguageModel::LanguageInfo{kLang2})); 65 LanguageModel::LanguageInfo(kLang2, 0.0f)));
57 } 66 }
58 67
59 TEST(LanguageModelTest, RightFrequencies) { 68 TEST(LanguageModelTest, RightFrequencies) {
60 TestingPrefServiceSimple prefs; 69 TestingPrefServiceSimple prefs;
61 LanguageModel::RegisterProfilePrefs(prefs.registry()); 70 LanguageModel::RegisterProfilePrefs(prefs.registry());
62 LanguageModel model(&prefs); 71 LanguageModel model(&prefs);
63 72
64 for (int i = 0; i < 50; i++) { 73 for (int i = 0; i < 50; i++) {
65 model.OnPageVisited(kLang1); 74 model.OnPageVisited(kLang1);
66 model.OnPageVisited(kLang1); 75 model.OnPageVisited(kLang1);
(...skipping 23 matching lines...) Expand all
90 99
91 // Another 100 visits cause the cleanup (total > 1000). 100 // Another 100 visits cause the cleanup (total > 1000).
92 for (int i = 0; i < 100; i++) 101 for (int i = 0; i < 100; i++)
93 model.OnPageVisited(kLang1); 102 model.OnPageVisited(kLang1);
94 // Lang 2 is removed from the model. 103 // Lang 2 is removed from the model.
95 EXPECT_THAT(model.GetTopLanguages(), 104 EXPECT_THAT(model.GetTopLanguages(),
96 ElementsAre(LanguageModel::LanguageInfo{kLang1, 1})); 105 ElementsAre(LanguageModel::LanguageInfo{kLang1, 1}));
97 } 106 }
98 107
99 } // namespace translate 108 } // namespace translate
OLDNEW
« no previous file with comments | « components/translate/core/browser/language_model.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698