new time-grouping for vap grouper adjusted test-cases minor changes/fixes/improvements
87 lines
1.6 KiB
C++
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
|