Migrates residual Lts sources to generated rtiddsgen API
Adds NmeaManagement tests, fixes codegen includes and Qt6 SerialPort CMake target.
This commit is contained in:
1 parent
5485a90385
commit
881d44f4dd
512 files changed
+6887
-6426
No files matched your search
@@ -0,0 +1,54 @@
|
||||
/**
|
||||
* @file test_nme_enums.cpp
|
||||
* @brief Verhaltenstests für die generierten NmeaManagement-Enumerationen
|
||||
*
|
||||
* Diese Tests prüfen den von CODEGEN_IDL_SVC + rtiddsgen aus nme_service.xml
|
||||
* generierten Header (Lts/Services/NmeaManagement/nme_enums.hpp) aus dem
|
||||
* Build-Tree. Sie sichern die Enum-Form ab, die der migrierte NmeaHandler
|
||||
* (IIXDR-Pfad) direkt nutzt: ServiceControlEnum::{PRESHUTDOWN,SHUTDOWN,STOP}
|
||||
* ohne die legacy *_def-Wrapper (rtiddsgen 7.7 generiert plain enum class).
|
||||
*/
|
||||
|
||||
#include "NmeaManagement/nme_enums.hpp"
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
#include <type_traits>
|
||||
|
||||
/**
|
||||
* @test ServiceControlEnum muss mit den Werten aus nme_service.xml generiert
|
||||
* werden (PRESHUTDOWN=0, SHUTDOWN=1, STOP=2).
|
||||
*/
|
||||
TEST(nme_enums_Generated, ServiceControlEnumValues)
|
||||
{
|
||||
static_assert(std::is_enum<::NmeaManagement::ServiceControlEnum>::value,
|
||||
"ServiceControlEnum muss aus nme_enums.hpp vorliegen");
|
||||
static_assert(static_cast<int32_t>(::NmeaManagement::ServiceControlEnum::PRESHUTDOWN) == 0,
|
||||
"ServiceControlEnum::PRESHUTDOWN muss 0 sein");
|
||||
static_assert(static_cast<int32_t>(::NmeaManagement::ServiceControlEnum::SHUTDOWN) == 1,
|
||||
"ServiceControlEnum::SHUTDOWN muss 1 sein");
|
||||
static_assert(static_cast<int32_t>(::NmeaManagement::ServiceControlEnum::STOP) == 2,
|
||||
"ServiceControlEnum::STOP muss 2 sein");
|
||||
SUCCEED();
|
||||
}
|
||||
|
||||
/**
|
||||
* @test Die Enum-Werte müssen wie im migrierten NmeaHandler zugewiesen
|
||||
* werden können (IIXDR: ServiceControl.ServiceControlState = ...).
|
||||
*/
|
||||
TEST(nme_enums_Generated, ServiceControlEnumAssignable)
|
||||
{
|
||||
::NmeaManagement::ServiceControlEnum state = ::NmeaManagement::ServiceControlEnum::PRESHUTDOWN;
|
||||
state = ::NmeaManagement::ServiceControlEnum::SHUTDOWN;
|
||||
state = ::NmeaManagement::ServiceControlEnum::STOP;
|
||||
EXPECT_EQ(state, ::NmeaManagement::ServiceControlEnum::STOP);
|
||||
}
|
||||
|
||||
/**
|
||||
* @test Include-Guard: mehrfaches Einbinden des generierten Headers ist erlaubt.
|
||||
*/
|
||||
TEST(nme_enums_Generated, MultipleIncludeGuard)
|
||||
{
|
||||
// Including the header multiple times should not cause errors
|
||||
#include "NmeaManagement/nme_enums.hpp"
|
||||
SUCCEED();
|
||||
}
|
||||
Reference in new issue
Block a user