1#include <catch2/catch_test_macros.hpp>
3#include <Core/Utils/EnumConverter.hpp>
5TEST_CASE(
"Core/Utils/EnumConverter",
"[unittests][Core][Core/Utils][EnumConverter]" ) {
6 SECTION(
"Test enum converter" ) {
7 using namespace Ra::Core::Utils;
9 enum Values :
unsigned int { VALUE_0 = 10, VALUE_1 = 20, VALUE_2 = 30 };
10 using ValuesType =
typename std::underlying_type_t<Values>;
13 { Values::VALUE_1,
"VALUE_1" },
14 { Values::VALUE_2,
"VALUE_2" } };
16 REQUIRE( myEnum.getEnumerator( Values::VALUE_0 ) ==
"VALUE_0" );
17 REQUIRE( myEnum.getEnumerator(
"VALUE_0" ) == Values::VALUE_0 );
18 REQUIRE( myEnum.getEnumerator( Values::VALUE_1 ) ==
"VALUE_1" );
19 REQUIRE( myEnum.getEnumerator(
"VALUE_1" ) == Values::VALUE_1 );
20 REQUIRE( myEnum.getEnumerator( Values::VALUE_2 ) ==
"VALUE_2" );
21 REQUIRE( myEnum.getEnumerator(
"VALUE_2" ) == Values::VALUE_2 );
22 auto strVect = myEnum.getEnumerators();
23 REQUIRE( strVect.size() == 3 );
24 REQUIRE( strVect[0] ==
"VALUE_0" );
25 REQUIRE( strVect[1] ==
"VALUE_1" );
26 REQUIRE( strVect[2] ==
"VALUE_2" );
This class manage the bijective association between string and integral representation of an enumerat...