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

Unified Diff: chrome/browser/engagement/site_engagement_service_unittest.cc

Issue 2163233002: Allow rounding errors in Site Engagement tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/engagement/site_engagement_score_unittest.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/engagement/site_engagement_service_unittest.cc
diff --git a/chrome/browser/engagement/site_engagement_service_unittest.cc b/chrome/browser/engagement/site_engagement_service_unittest.cc
index 3c4090089762eab40cd373dff34c6d450247f3d9..db0920843f7d3693aa7ed74f2fdee356977c77f8 100644
--- a/chrome/browser/engagement/site_engagement_service_unittest.cc
+++ b/chrome/browser/engagement/site_engagement_service_unittest.cc
@@ -42,6 +42,7 @@ base::FilePath g_temp_history_dir;
const int kMoreAccumulationsThanNeededToMaxDailyEngagement = 40;
const int kMoreDaysThanNeededToMaxTotalEngagement = 40;
const int kMorePeriodsThanNeededToDecayMaxScore = 40;
+const double kMaxRoundingDeviation = 0.0001;
// Waits until a change is observed in site engagement content settings.
class SiteEngagementChangeWaiter : public content_settings::Observer {
@@ -182,6 +183,10 @@ class SiteEngagementServiceTest : public ChromeRenderViewHostTestHarness {
SiteEngagementScore::GetParamValues()[variation].second = value;
}
+ void AssertInRange(double expected, double actual) {
+ EXPECT_NEAR(expected, actual, kMaxRoundingDeviation);
+ }
+
private:
base::ScopedTempDir temp_dir_;
};
@@ -956,14 +961,14 @@ TEST_F(SiteEngagementServiceTest, CleanupEngagementScoresProportional) {
clock->SetNow(current_day);
std::map<GURL, double> score_map = service->GetScoreMap();
EXPECT_EQ(2u, score_map.size());
- EXPECT_EQ(0.5, service->GetScore(url1));
- EXPECT_EQ(0.6, service->GetScore(url2));
+ AssertInRange(0.5, service->GetScore(url1));
+ AssertInRange(0.6, service->GetScore(url2));
service->CleanupEngagementScores(false);
score_map = service->GetScoreMap();
EXPECT_EQ(1u, score_map.size());
EXPECT_EQ(0, service->GetScore(url1));
- EXPECT_EQ(0.6, service->GetScore(url2));
+ AssertInRange(0.6, service->GetScore(url2));
}
TEST_F(SiteEngagementServiceTest, NavigationAccumulation) {
@@ -1065,10 +1070,10 @@ TEST_F(SiteEngagementServiceTest, CleanupOriginsOnHistoryDeletion) {
history->AddPage(origin4a, yesterday_afternoon, history::SOURCE_BROWSED);
engagement->AddPoints(origin4, 5.0);
- EXPECT_EQ(3.0, engagement->GetScore(origin1));
- EXPECT_EQ(5.0, engagement->GetScore(origin2));
- EXPECT_EQ(5.0, engagement->GetScore(origin3));
- EXPECT_EQ(5.0, engagement->GetScore(origin4));
+ AssertInRange(3.0, engagement->GetScore(origin1));
+ AssertInRange(5.0, engagement->GetScore(origin2));
+ AssertInRange(5.0, engagement->GetScore(origin3));
+ AssertInRange(5.0, engagement->GetScore(origin4));
{
SiteEngagementChangeWaiter waiter(profile());
@@ -1084,11 +1089,11 @@ TEST_F(SiteEngagementServiceTest, CleanupOriginsOnHistoryDeletion) {
// cutting origin1's score by 1/3. origin3 is untouched. origin4 has 1 URL
// deleted and 1 remaining, but its most recent visit is more than 1 week in
// the past. Ensure that its scored is halved, and not decayed further.
- EXPECT_EQ(2, engagement->GetScore(origin1));
+ AssertInRange(2, engagement->GetScore(origin1));
EXPECT_EQ(0, engagement->GetScore(origin2));
- EXPECT_EQ(5.0, engagement->GetScore(origin3));
- EXPECT_EQ(2.5, engagement->GetScore(origin4));
- EXPECT_EQ(9.5, engagement->GetTotalEngagementPoints());
+ AssertInRange(5.0, engagement->GetScore(origin3));
+ AssertInRange(2.5, engagement->GetScore(origin4));
+ AssertInRange(9.5, engagement->GetTotalEngagementPoints());
}
{
@@ -1108,11 +1113,11 @@ TEST_F(SiteEngagementServiceTest, CleanupOriginsOnHistoryDeletion) {
// origin1's score should be halved again. origin3 and origin4 remain
// untouched.
- EXPECT_EQ(1, engagement->GetScore(origin1));
+ AssertInRange(1, engagement->GetScore(origin1));
EXPECT_EQ(0, engagement->GetScore(origin2));
- EXPECT_EQ(5.0, engagement->GetScore(origin3));
- EXPECT_EQ(2.5, engagement->GetScore(origin4));
- EXPECT_EQ(8.5, engagement->GetTotalEngagementPoints());
+ AssertInRange(5.0, engagement->GetScore(origin3));
+ AssertInRange(2.5, engagement->GetScore(origin4));
+ AssertInRange(8.5, engagement->GetTotalEngagementPoints());
}
{
@@ -1133,9 +1138,9 @@ TEST_F(SiteEngagementServiceTest, CleanupOriginsOnHistoryDeletion) {
// origin1 should be removed. origin3 and origin4 remain untouched.
EXPECT_EQ(0, engagement->GetScore(origin1));
EXPECT_EQ(0, engagement->GetScore(origin2));
- EXPECT_EQ(5.0, engagement->GetScore(origin3));
- EXPECT_EQ(2.5, engagement->GetScore(origin4));
- EXPECT_EQ(7.5, engagement->GetTotalEngagementPoints());
+ AssertInRange(5.0, engagement->GetScore(origin3));
+ AssertInRange(2.5, engagement->GetScore(origin4));
+ AssertInRange(7.5, engagement->GetTotalEngagementPoints());
}
}
« no previous file with comments | « chrome/browser/engagement/site_engagement_score_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698