mirror of https://github.com/meshcore-dev/MeshCore
3 changed files with 59 additions and 0 deletions
@ -0,0 +1,6 @@ |
|||
#pragma once |
|||
|
|||
#include <stddef.h> |
|||
#include <stdint.h> |
|||
#include <string.h> |
|||
#include <stdio.h> |
|||
@ -0,0 +1,52 @@ |
|||
#include <gtest/gtest.h> |
|||
|
|||
#include "helpers/AdvertDataHelpers.h" |
|||
|
|||
namespace { |
|||
|
|||
TEST(AdvertData, RoundTripsNameOnly) { |
|||
uint8_t app_data[MAX_ADVERT_DATA_SIZE] = {}; |
|||
AdvertDataBuilder builder(ADV_TYPE_CHAT, "alice"); |
|||
|
|||
uint8_t len = builder.encodeTo(app_data); |
|||
AdvertDataParser parser(app_data, len); |
|||
|
|||
ASSERT_TRUE(parser.isValid()); |
|||
EXPECT_EQ(ADV_TYPE_CHAT, parser.getType()); |
|||
EXPECT_TRUE(parser.hasName()); |
|||
EXPECT_STREQ("alice", parser.getName()); |
|||
EXPECT_FALSE(parser.hasLatLon()); |
|||
} |
|||
|
|||
TEST(AdvertData, RoundTripsNameAndCoordinates) { |
|||
uint8_t app_data[MAX_ADVERT_DATA_SIZE] = {}; |
|||
AdvertDataBuilder builder(ADV_TYPE_REPEATER, "node", 37.7749, -122.4194); |
|||
|
|||
uint8_t len = builder.encodeTo(app_data); |
|||
AdvertDataParser parser(app_data, len); |
|||
|
|||
ASSERT_TRUE(parser.isValid()); |
|||
EXPECT_EQ(ADV_TYPE_REPEATER, parser.getType()); |
|||
EXPECT_TRUE(parser.hasName()); |
|||
EXPECT_STREQ("node", parser.getName()); |
|||
EXPECT_TRUE(parser.hasLatLon()); |
|||
EXPECT_EQ(37774900, parser.getIntLat()); |
|||
EXPECT_EQ(-122419400, parser.getIntLon()); |
|||
EXPECT_DOUBLE_EQ(37.7749, parser.getLat()); |
|||
EXPECT_DOUBLE_EQ(-122.4194, parser.getLon()); |
|||
} |
|||
|
|||
TEST(AdvertData, RoundTripsCoordinateExtremes) { |
|||
uint8_t app_data[MAX_ADVERT_DATA_SIZE] = {}; |
|||
AdvertDataBuilder builder(ADV_TYPE_SENSOR, "edge", -90.0, 180.0); |
|||
|
|||
uint8_t len = builder.encodeTo(app_data); |
|||
AdvertDataParser parser(app_data, len); |
|||
|
|||
ASSERT_TRUE(parser.isValid()); |
|||
EXPECT_TRUE(parser.hasLatLon()); |
|||
EXPECT_EQ(-90000000, parser.getIntLat()); |
|||
EXPECT_EQ(180000000, parser.getIntLon()); |
|||
} |
|||
|
|||
} // namespace
|
|||
Loading…
Reference in new issue