blob: db3fd6fe247beec3ff9e145acf3de01cc764c2ec [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/dips/dips_utils.h"
#include "base/time/time.h"
#include "testing/gtest/include/gtest/gtest.h"
TEST(BucketizeBounceDelayTest, BucketizeBounceDelay) {
// any TimeDelta in (-inf, 1s) should return 0
EXPECT_EQ(0, BucketizeBounceDelay(base::Days(-1)));
EXPECT_EQ(0, BucketizeBounceDelay(base::Milliseconds(0)));
EXPECT_EQ(0, BucketizeBounceDelay(base::Milliseconds(999)));
// anything in [1s, 2s) should return 1
EXPECT_EQ(1, BucketizeBounceDelay(base::Milliseconds(1000)));
EXPECT_EQ(1, BucketizeBounceDelay(base::Milliseconds(1999)));
// similarly for [2s, 3s)
EXPECT_EQ(2, BucketizeBounceDelay(base::Milliseconds(2000)));
EXPECT_EQ(2, BucketizeBounceDelay(base::Milliseconds(2999)));
// ...
EXPECT_EQ(9, BucketizeBounceDelay(base::Milliseconds(9999)));
// anything in [10s, inf) should return 10
EXPECT_EQ(10, BucketizeBounceDelay(base::Milliseconds(10000)));
EXPECT_EQ(10, BucketizeBounceDelay(base::Milliseconds(10001)));
EXPECT_EQ(10, BucketizeBounceDelay(base::Days(1)));
}