This repository has been archived on 2020-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
Files
Indoor/tests/data/TestTimestamp.cpp
frank da477866c1 worked on wifi-scanner for linux
new time-grouping for vap grouper
adjusted test-cases
minor changes/fixes/improvements
2017-10-11 14:00:24 +02:00

87 lines
1.6 KiB
C++

#ifdef WITH_TESTS
#include "../Tests.h"
#include "../../data/Timestamp.h"
TEST(Timestamp, convert) {
Timestamp ts1 = Timestamp::fromMS(100);
ASSERT_EQ(100, ts1.ms());
ASSERT_NEAR(0.1, ts1.sec(), 0.00001);
Timestamp ts2 = Timestamp::fromSec(0.1);
ASSERT_EQ(100, ts2.ms());
ASSERT_NEAR(0.1, ts2.sec(), 0.00001);
}
TEST(Timestamp, equal) {
Timestamp ts1 = Timestamp::fromMS(100);
Timestamp ts2 = Timestamp::fromSec(0.1);
ASSERT_EQ(ts1, ts2);
}
TEST(Timestamp, comp) {
Timestamp ts1 = Timestamp::fromMS(100);
Timestamp ts2 = Timestamp::fromSec(0.1);
Timestamp ts3 = Timestamp::fromSec(150);
ASSERT_FALSE(ts1 < ts2);
ASSERT_FALSE(ts1 > ts2);
ASSERT_TRUE(ts1 < ts3);
ASSERT_FALSE(ts1 > ts3);
ASSERT_TRUE(ts3 > ts1);
ASSERT_FALSE(ts3 < ts1);
}
TEST(Timestamp, add) {
Timestamp ts1 = Timestamp::fromMS(100);
Timestamp ts2 = Timestamp::fromSec(0.2);
ASSERT_EQ(300, (ts1+ts2).ms());
ASSERT_EQ(-100, (ts1-ts2).ms());
ASSERT_EQ(+100, (ts2-ts1).ms());
}
TEST(Timestamp, div) {
Timestamp ts1 = Timestamp::fromMS(1000);
ASSERT_EQ(100, (ts1/(size_t)10).ms());
}
TEST(Timestamp, minmax) {
Timestamp tsLow = std::numeric_limits<Timestamp>::lowest();
Timestamp tsMin = std::numeric_limits<Timestamp>::min();
Timestamp tsMax = std::numeric_limits<Timestamp>::max();
Timestamp ts0 = Timestamp::fromMS(0);
Timestamp tsNeg = Timestamp::fromMS(-99999999999999L);
Timestamp tsPos = Timestamp::fromMS(+99999999999999L);
ASSERT_EQ(tsMin, tsLow);
ASSERT_TRUE(tsMin < tsMax);
ASSERT_TRUE(tsMin < ts0);
ASSERT_TRUE(tsMin < tsNeg);
ASSERT_TRUE(tsMax > tsMin);
ASSERT_TRUE(tsMax > ts0);
ASSERT_TRUE(tsMax > tsPos);
}
#endif