xref: /aosp_15_r20/external/openscreen/platform/impl/timeval_posix_unittest.cc (revision 3f982cf4871df8771c9d4abe6e9a6f8d829b2736)
1 // Copyright 2019 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "platform/impl/timeval_posix.h"
6 
7 #include "gtest/gtest.h"
8 
9 namespace openscreen {
10 
TEST(TimevalPosixTest,ToTimeval)11 TEST(TimevalPosixTest, ToTimeval) {
12   auto timespan = Clock::duration::zero();
13   auto timeval = ToTimeval(timespan);
14   EXPECT_EQ(timeval.tv_sec, 0);
15   EXPECT_EQ(timeval.tv_usec, 0);
16 
17   timespan = Clock::duration(1000000);
18   timeval = ToTimeval(timespan);
19   EXPECT_EQ(timeval.tv_sec, 1);
20   EXPECT_EQ(timeval.tv_usec, 0);
21 
22   timespan = Clock::duration(1000000 - 1);
23   timeval = ToTimeval(timespan);
24   EXPECT_EQ(timeval.tv_sec, 0);
25   EXPECT_EQ(timeval.tv_usec, 1000000 - 1);
26 
27   timespan = Clock::duration(1);
28   timeval = ToTimeval(timespan);
29   EXPECT_EQ(timeval.tv_sec, 0);
30   EXPECT_EQ(timeval.tv_usec, 1);
31 
32   timespan = Clock::duration(100000010);
33   timeval = ToTimeval(timespan);
34   EXPECT_EQ(timeval.tv_sec, 100);
35   EXPECT_EQ(timeval.tv_usec, 10);
36 }
37 
38 }  // namespace openscreen
39