Files
MicrOBU/microbu-esp32c5/external/vanetza-idf/vanetza/geodesy/tests/m49_code.cpp
T
Ashin Walpola 0e9525162d Keep the colleague's microbu-esp32c5 tree in this repository
obu-firmware builds against vanetza-idf from microbu-esp32c5/external, but
that tree was gitignored, so a clone of this repository could not build the
firmware it ships. It is now committed here as ordinary files in its own
folder, microbu-esp32c5/: the colleague's commit cf4b99f plus the V2X2MAP
bridge's signature verification (--trust) used on the bench. Nothing is
fetched from or pushed to the colleague's repository; this repository and
its remotes carry everything. The folder's own .gitignore keeps build output,
downloaded components and private key material out, as it did there; the
committed file set is identical to that repository's tracked files.

The ESP32-C5 is still flashed from obu-firmware/, which only takes
vanetza-idf from microbu-esp32c5/, so the two stay separate folders.
FLASHING.md says how to take a newer version of the colleague's tree (copy
it over the folder, rebuild, test, commit).
2026-09-23 17:46:40 +02:00

40 lines
900 B
C++

#include <vanetza/geodesy/m49_code.hpp>
#include <gtest/gtest.h>
#include <map>
#include <string>
#include <unordered_set>
using vanetza::geodesy::M49Code;
TEST(M49Code, value)
{
M49Code code(276);
EXPECT_EQ(276, code.value());
}
TEST(M49Code, equality)
{
EXPECT_EQ(M49Code(276), M49Code(276));
EXPECT_NE(M49Code(276), M49Code(250));
}
TEST(M49Code, std_hash)
{
std::unordered_set<M49Code> codes;
codes.insert(M49Code(276));
codes.insert(M49Code(250));
codes.insert(M49Code(276)); // duplicate
EXPECT_EQ(2u, codes.size());
EXPECT_EQ(1u, codes.count(M49Code(276)));
EXPECT_EQ(1u, codes.count(M49Code(250)));
}
TEST(M49Code, std_less)
{
std::map<M49Code, std::string> names;
names[M49Code(276)] = "Germany";
names[M49Code(250)] = "France";
EXPECT_EQ("Germany", names.at(M49Code(276)));
EXPECT_EQ("France", names.at(M49Code(250)));
}