/* * Copyright (c) 2021 The WebRTC project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #include "net/dcsctp/public/types.h" #include "rtc_base/gunit.h" #include "test/gmock.h" namespace dcsctp { namespace { TEST(TypesTest, DurationOperators) { DurationMs d1(10); DurationMs d2(25); EXPECT_EQ(d1 + d2, DurationMs(35)); EXPECT_EQ(d2 - d1, DurationMs(15)); d1 += d2; EXPECT_EQ(d1, DurationMs(35)); d1 -= DurationMs(5); EXPECT_EQ(d1, DurationMs(30)); d1 *= 1.5; EXPECT_EQ(d1, DurationMs(45)); EXPECT_EQ(DurationMs(10) * 2, DurationMs(20)); } TEST(TypesTest, TimeOperators) { EXPECT_EQ(TimeMs(250) + DurationMs(100), TimeMs(350)); EXPECT_EQ(DurationMs(250) + TimeMs(100), TimeMs(350)); EXPECT_EQ(TimeMs(250) - DurationMs(100), TimeMs(150)); EXPECT_EQ(TimeMs(250) - TimeMs(100), DurationMs(150)); TimeMs t1(150); t1 -= DurationMs(50); EXPECT_EQ(t1, TimeMs(100)); t1 += DurationMs(200); EXPECT_EQ(t1, TimeMs(300)); } } // namespace } // namespace dcsctp