Adds clamping to TimeDelta.

Bug: webrtc:9709
Change-Id: I6447d8b0ac55b38eaa187b4d44426ec95c377ffb
Reviewed-on: https://webrtc-review.googlesource.com/c/110787
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25681}
This commit is contained in:
Sebastian Jansson
2018-11-13 19:27:40 +01:00
committed by Commit Bot
parent b5f82011ba
commit 0a8bd9cdc9
2 changed files with 28 additions and 0 deletions

View File

@ -106,6 +106,27 @@ TEST(TimeDeltaTest, ComparisonOperators) {
EXPECT_LT(TimeDelta::MinusInfinity(), TimeDelta::Zero());
}
TEST(TimeDeltaTest, Clamping) {
const TimeDelta upper = TimeDelta::ms(800);
const TimeDelta lower = TimeDelta::ms(100);
const TimeDelta under = TimeDelta::ms(100);
const TimeDelta inside = TimeDelta::ms(500);
const TimeDelta over = TimeDelta::ms(1000);
EXPECT_EQ(under.Clamped(lower, upper), lower);
EXPECT_EQ(inside.Clamped(lower, upper), inside);
EXPECT_EQ(over.Clamped(lower, upper), upper);
TimeDelta mutable_delta = lower;
mutable_delta.Clamp(lower, upper);
EXPECT_EQ(mutable_delta, lower);
mutable_delta = inside;
mutable_delta.Clamp(lower, upper);
EXPECT_EQ(mutable_delta, inside);
mutable_delta = over;
mutable_delta.Clamp(lower, upper);
EXPECT_EQ(mutable_delta, upper);
}
TEST(TimeDeltaTest, CanBeInititializedFromLargeInt) {
const int kMaxInt = std::numeric_limits<int>::max();
EXPECT_EQ(TimeDelta::seconds(kMaxInt).us(),