Files
create/tests/src/Base/TimeInfo.cpp
Ladislav Michl 159fe5c21f Base: Use std::chrono for time handling
Replace platform specific implementations with standard C++ std::chrono.
As time_t is now 64-bit on all supported systems, use it to set the clock.
2024-03-05 12:22:40 +01:00

36 lines
733 B
C++

#include "gtest/gtest.h"
#include <Base/TimeInfo.h>
TEST(TimeInfo, TestDefault)
{
Base::TimeInfo ti;
EXPECT_FALSE(ti.isNull());
}
TEST(TimeInfo, TestNull)
{
Base::TimeInfo ti(Base::TimeInfo::null());
EXPECT_TRUE(ti.isNull());
}
TEST(TimeInfo, TestCompare)
{
Base::TimeInfo ti1;
Base::TimeInfo ti2(ti1);
ti2 += std::chrono::seconds(1);
EXPECT_TRUE(ti1 == ti1);
EXPECT_TRUE(ti1 != ti2);
EXPECT_TRUE(ti1 < ti2);
EXPECT_FALSE(ti1 > ti2);
EXPECT_TRUE(ti1 <= ti1);
EXPECT_TRUE(ti1 >= ti1);
}
TEST(TimeInfo, TestDiffTime)
{
Base::TimeInfo ti1;
Base::TimeInfo ti2(ti1);
ti2 += std::chrono::seconds(1000);
EXPECT_FLOAT_EQ(Base::TimeInfo::diffTimeF(ti1, ti2), 1000.0);
}