Comment puis-je intégrer des constantes de chaîne Unicode dans un fichier source?

Je suis à l'écriture de tests unitaires qui sont en cours pour vérifier nos manipulation de diverses ressources qui utilisent d'autres jeux de caractères en dehors de la normale alphabet latin: Cyrilic, hébreu, etc.

Le problème que j'ai c'est que je ne peut pas trouver un moyen d'intégrer les attentes de la source de test de fichier: voici un exemple de ce que je suis en train de faire...

///
///Protected: TestGetHebrewConfigString
/// 
void CPrIniFileReaderTest::TestGetHebrewConfigString()
{
    prwstring strHebrewTestFilePath = GetTestFilePath( strHebrewTestFileName );
    CPrIniFileReader prIniListReader( strHebrewTestFilePath.c_str() );
    prIniListReader.SetCurrentSection( strHebrewSubSection );   

    CPPUNIT_ASSERT( prIniListReader.GetConfigString( L"דונדארןמע" ) == L"דונהשךוק") );
}

Ce tout simplement ne fonctionne pas. Auparavant, j'ai travaillé autour de cette l'aide d'une macro qui appelle une routine pour transformer une étroite chaîne à une grande chaîne (nous utilisons towstring toute la place dans nos applications, il est donc code existant)

#define UNICODE_CONSTANT( CONSTANT ) towstring( CONSTANT )

wstring towstring( LPCSTR lpszValue )
{
    wostringstream os;
    os << lpszValue;
    return os.str();
}

L'affirmation dans le test ci-dessus est alors devenu:

CPPUNIT_ASSERT( prIniListReader.GetConfigString( UNICODE_CONSTANT( "דונדארןמע" ) ) == UNICODE_CONSTANT( "דונהשךוק" ) );

Ce OK travaillé sur OS X, mais maintenant je suis de portage vers linux et je trouve que les tests sont tous à défaut: il se sent tous plus à du bidouillage. Quelqu'un peut-il me dire si elles ont une meilleure solution à ce problème?

source d'informationauteur jkp