/** * @file test_flm_enums.cpp * @brief Verhaltenstests für die aus flm_service.xml generierten Enums * * Diese Tests prüfen die Enum-Werte im generierten Header * (Lts/Services/FileManagement/flm_enums.hpp aus flm_enums.idl via rtiddsgen) * gegen die Definitionen in flm_service.xml. rtiddsgen 7.7 generiert * enum class; Stub-Werte (z. B. FileStatus mit fünf Einträgen) fallen damit auf. */ #include "Lts/Services/FileManagement/flm_enums.hpp" #include /** * @test FileStatus: laut flm_service.xml gilt Valid = 0 und Deleted = 1. */ TEST(flm_enums_Generated, FileStatusValues) { EXPECT_EQ(static_cast(FileManagement::FileStatus::Valid), 0); EXPECT_EQ(static_cast(FileManagement::FileStatus::Deleted), 1); } /** * @test FileType: Stichproben aus der Definition in flm_service.xml * (Unknown = 0, Pdf = 3, AdlerJson = 19). */ TEST(flm_enums_Generated, FileTypeValues) { EXPECT_EQ(static_cast(FileManagement::FileType::Unknown), 0); EXPECT_EQ(static_cast(FileManagement::FileType::Pdf), 3); EXPECT_EQ(static_cast(FileManagement::FileType::AdlerJson), 19); } /** * @test FileCategory und MainFolder: Werte aus flm_service.xml * (Global = 1, Exercise = 2, User = 3 bzw. GlobalDocuments = 1, ...). */ TEST(flm_enums_Generated, FileCategoryAndMainFolderValues) { EXPECT_EQ(static_cast(FileManagement::FileCategory::Global), 1); EXPECT_EQ(static_cast(FileManagement::FileCategory::Exercise), 2); EXPECT_EQ(static_cast(FileManagement::FileCategory::User), 3); EXPECT_EQ(static_cast(FileManagement::MainFolder::GlobalDocuments), 1); EXPECT_EQ(static_cast(FileManagement::MainFolder::ExerciseDocuments), 2); EXPECT_EQ(static_cast(FileManagement::MainFolder::UserDocuments), 3); } /** * @test Include-Guard: mehrfaches Einbinden des generierten Headers ist erlaubt. */ TEST(flm_enums_Generated, MultipleIncludeGuard) { // Including the header multiple times should not cause errors #include "Lts/Services/FileManagement/flm_enums.hpp" EXPECT_TRUE(true); }