Skip to content

Commit

Permalink
[tests] fix system dependent type order (cont'd).
Browse files Browse the repository at this point in the history
  • Loading branch information
dlyr committed Jul 8, 2024
1 parent 806bd1b commit 061d60c
Showing 1 changed file with 34 additions and 26 deletions.
60 changes: 34 additions & 26 deletions tests/unittest/Engine/renderparameters.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -352,11 +352,16 @@ TEST_CASE( "Engine/Data/RenderParameters", "[Engine][Engine/Data][RenderParamete
ptm.allowVisit<int>();
std::cout << "Visiting with custom dynamic visitor:\n";
paramsToVisit.visit( ptm );

REQUIRE( ptm.output.str() ==
" PrintThemAllVisitor: ( int ) int.simple --> 1\n"
" PrintThemAllVisitor: ( unsigned int ) enum.semantic --> 10\n" );

// visiting order is system dependent, compares output ignoring output order.
{
std::multiset<std::string> outputSet;
for ( std::string line; std::getline( ptm.output, line, '\n' ); )
outputSet.insert( line );
std::multiset<std::string> expected;
expected.insert( "\tPrintThemAllVisitor: ( int ) int.simple --> 1" );
expected.insert( "\tPrintThemAllVisitor: ( unsigned int ) enum.semantic --> 10" );
REQUIRE( outputSet == expected );
}
StaticPrintVisitor vstr;
std::cout << "Visiting with custom static visitor:\n";
paramsToVisit.visit( vstr );
Expand All @@ -372,26 +377,29 @@ TEST_CASE( "Engine/Data/RenderParameters", "[Engine][Engine/Data][RenderParamete
paramsToVisit.setVariable( "SubParameter", subParams );
paramsToVisit.visit( vstr, "Visiting with subparameters" );

// visiting order is system dependent
std::multiset<std::string> outputSet;
for ( std::string line; std::getline( vstr.output, line, '\n' ); )
outputSet.insert( line );
std::multiset<std::string> expected;

expected.insert( "\tVisiting with subparameters: ( int ) int.simple --> 1" );
expected.insert( "\tVisiting with subparameters: ( unsigned int ) enum.semantic --> 10" );
expected.insert(
"\tVisiting with subparameters( Ra::Engine::Data::RenderParameters ) SubParameter "
"--> visiting recursively" );
expected.insert( "\t\tVisiting with subparameters: ( int ) sub.int --> 3" );
expected.insert( "\t\tVisiting with subparameters: ( unsigned int ) enum.semantic --> 20" );
expected.insert(
"\t\tVisiting with subparameters: ( std::__cxx11::basic_string<char, "
"std::char_traits<char>, std::allocator<char>> ) sub.string --> SubString" );
expected.insert(
"\tVisiting with subparameters( Ra::Engine::Data::RenderParameters ) SubParameter "
"--> end recursive visit" );

REQUIRE( outputSet == expected );
{
std::multiset<std::string> outputSet;
for ( std::string line; std::getline( vstr.output, line, '\n' ); )
outputSet.insert( line );
std::multiset<std::string> expected;

expected.insert( "\tVisiting with subparameters: ( int ) int.simple --> 1" );
expected.insert(
"\tVisiting with subparameters: ( unsigned int ) enum.semantic --> 10" );
expected.insert(
"\tVisiting with subparameters( Ra::Engine::Data::RenderParameters ) SubParameter "
"--> visiting recursively" );
expected.insert( "\t\tVisiting with subparameters: ( int ) sub.int --> 3" );
expected.insert(
"\t\tVisiting with subparameters: ( unsigned int ) enum.semantic --> 20" );
expected.insert(
"\t\tVisiting with subparameters: ( std::__cxx11::basic_string<char, "
"std::char_traits<char>, std::allocator<char>> ) sub.string --> SubString" );
expected.insert(
"\tVisiting with subparameters( Ra::Engine::Data::RenderParameters ) SubParameter "
"--> end recursive visit" );

REQUIRE( outputSet == expected );
}
}
}

0 comments on commit 061d60c

Please sign in to comment.