59 lines
2.1 KiB
C++
59 lines
2.1 KiB
C++
/**
|
|
* @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 <gtest/gtest.h>
|
|
|
|
/**
|
|
* @test FileStatus: laut flm_service.xml gilt Valid = 0 und Deleted = 1.
|
|
*/
|
|
TEST(flm_enums_Generated, FileStatusValues)
|
|
{
|
|
EXPECT_EQ(static_cast<int>(FileManagement::FileStatus::Valid), 0);
|
|
EXPECT_EQ(static_cast<int>(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<int>(FileManagement::FileType::Unknown), 0);
|
|
EXPECT_EQ(static_cast<int>(FileManagement::FileType::Pdf), 3);
|
|
EXPECT_EQ(static_cast<int>(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<int>(FileManagement::FileCategory::Global), 1);
|
|
EXPECT_EQ(static_cast<int>(FileManagement::FileCategory::Exercise), 2);
|
|
EXPECT_EQ(static_cast<int>(FileManagement::FileCategory::User), 3);
|
|
|
|
EXPECT_EQ(static_cast<int>(FileManagement::MainFolder::GlobalDocuments), 1);
|
|
EXPECT_EQ(static_cast<int>(FileManagement::MainFolder::ExerciseDocuments), 2);
|
|
EXPECT_EQ(static_cast<int>(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);
|
|
}
|