tstpopulate.cpp

./Core/fn/tests/tstpopulate.cpp

#include "Nemesis/gtest/nemesis_gtest.hh"
TEST( PopulateStringifyNuclide, Default )
{
// check that it works with format
EXPECT_EQ( "20092235", stringifyNuclide( 20092235, "$S$I$ZZZ$AAA" ) );
EXPECT_EQ( "21092235", stringifyNuclide( 21092235, "$S$I$ZZZ$AAA" ) );
EXPECT_EQ( "10001001", stringifyNuclide( 10001001, "$S$I$ZZZ$AAA" ) );
EXPECT_EQ( "0001001", stringifyNuclide( 1001, "$S$I$ZZZ$AAA" ) );
// check default
EXPECT_EQ( "20092235", stringifyNuclide( 20092235 ) );
EXPECT_EQ( "21092235", stringifyNuclide( 21092235 ) );
EXPECT_EQ( "10001001", stringifyNuclide( 10001001 ) );
EXPECT_EQ( "0001001", stringifyNuclide( 1001 ) );
}
TEST( PopulateStringifyNuclide, TraditionalZAAAI )
{
std::string idform = "$Z$AAA$I";
EXPECT_EQ( "922350", stringifyNuclide( 20092235, idform ) );
EXPECT_EQ( "922351", stringifyNuclide( 21092235, idform ) );
EXPECT_EQ( "922352", stringifyNuclide( 22092235, idform ) );
EXPECT_EQ( "1002560", stringifyNuclide( 20100256, idform ) );
EXPECT_EQ( "10010", stringifyNuclide( 10001001, idform ) );
EXPECT_EQ( "10010", stringifyNuclide( 1001, idform ) );
}
TEST( PopulateStringifyNuclide, Symbols )
{
std::string idform = "$Ee-$A$m";
EXPECT_EQ( "U-235", stringifyNuclide( 20092235, idform ) );
EXPECT_EQ( "U-235m", stringifyNuclide( 21092235, idform ) );
EXPECT_EQ( "U-235m2", stringifyNuclide( 22092235, idform ) );
EXPECT_EQ( "Fm-256", stringifyNuclide( 20100256, idform ) );
EXPECT_EQ( "H-1", stringifyNuclide( 10001001, idform ) );
EXPECT_EQ( "H-1", stringifyNuclide( 1001, idform ) );
}
TEST( PopulateStringifyNuclide, SymbolsWithSublib )
{
std::string idform = "$S:$Ee-$A$m";
EXPECT_EQ( "2:U-235", stringifyNuclide( 20092235, idform ) );
EXPECT_EQ( "2:U-235m", stringifyNuclide( 21092235, idform ) );
EXPECT_EQ( "2:U-235m2", stringifyNuclide( 22092235, idform ) );
EXPECT_EQ( "2:Fm-256", stringifyNuclide( 20100256, idform ) );
EXPECT_EQ( "1:H-1", stringifyNuclide( 10001001, idform ) );
EXPECT_EQ( "0:H-1", stringifyNuclide( 1001, idform ) );
}
TEST( PopulateStringifyNuclide, ElementCapitalization )
{
EXPECT_EQ( "fm", stringifyNuclide( 100256, "$ee" ) );
EXPECT_EQ( "FM", stringifyNuclide( 100256, "$EE" ) );
EXPECT_EQ( "Fm", stringifyNuclide( 100256, "$Ee" ) );
}
TEST( PopulateStringifyNuclide, MetastableCapitalization )
{
EXPECT_EQ( "", stringifyNuclide( 20092235, "$M" ) );
EXPECT_EQ( "M", stringifyNuclide( 21092235, "$M" ) );
EXPECT_EQ( "m", stringifyNuclide( 21092235, "$m" ) );
}
TEST( PopulateStringifyNuclide, FullSymbol )
{
std::string idform = "$Z-$Ee-$Am$I";
EXPECT_EQ( "92-U-235m0", stringifyNuclide( 20092235, idform ) );
EXPECT_EQ( "92-U-235m1", stringifyNuclide( 21092235, idform ) );
EXPECT_EQ( "92-U-235m2", stringifyNuclide( 22092235, idform ) );
EXPECT_EQ( "100-Fm-256m0", stringifyNuclide( 20100256, idform ) );
EXPECT_EQ( "1-H-1m0", stringifyNuclide( 10001001, idform ) );
EXPECT_EQ( "1-H-1m0", stringifyNuclide( 1001, idform ) );
}