25 lines
728 B
C++
25 lines
728 B
C++
#include <gtest/gtest.h>
|
|
#include "mocks/MockDDS.h"
|
|
|
|
TEST(DataTopicSmokeGTest, Format) {
|
|
char buf[64];
|
|
snprintf(buf, sizeof(buf), "%d-%s", 42, "abc");
|
|
EXPECT_STREQ(buf, "42-abc");
|
|
}
|
|
|
|
TEST(DataTopicSmokeGTest, MockDDSTopicFlow) {
|
|
MockDDS::clear_all();
|
|
MockDDS::publish("data/topic", "hello");
|
|
auto r1 = MockDDS::take_last("data/topic");
|
|
auto p1 = r1.substr(r1.find(':') + 1);
|
|
EXPECT_EQ(p1, "hello");
|
|
MockDDS::publish("data/topic", "world");
|
|
auto r2 = MockDDS::take_last("data/topic");
|
|
auto p2 = r2.substr(r2.find(':') + 1);
|
|
EXPECT_EQ(p2, "world");
|
|
// check sequence increment
|
|
auto s1 = std::stoul(r1.substr(0, r1.find(':')));
|
|
auto s2 = std::stoul(r2.substr(0, r2.find(':')));
|
|
EXPECT_LT(s1, s2);
|
|
}
|