#include "UnitTestPCH.h" #include using namespace std; using namespace Assimp; // ------------------------------------------------------------------------------------------------ TEST(RemoveCommentsTest, testSingleLineComments) { const char* szTest = "int i = 0; \n" "if (4 == //)\n" "\ttrue) { // do something here \n" "\t// hello ... and bye //\n"; const size_t len( ::strlen( szTest ) + 1 ); char* szTest2 = new char[ len ]; ::strncpy( szTest2, szTest, len ); const char* szTestResult = "int i = 0; \n" "if (4 == \n" "\ttrue) { \n" "\t \n"; CommentRemover::RemoveLineComments("//",szTest2,' '); EXPECT_STREQ(szTestResult, szTest2); delete[] szTest2; } // ------------------------------------------------------------------------------------------------ TEST(RemoveCommentsTest, testMultiLineComments) { const char* szTest = "/* comment to be removed */\n" "valid text /* \n " " comment across multiple lines */" " / * Incomplete comment */ /* /* multiple comments */ */"; const char* szTestResult = " \n" "valid text " " " " / * Incomplete comment */ */"; const size_t len( ::strlen( szTest ) + 1 ); char* szTest2 = new char[ len ]; ::strncpy( szTest2, szTest, len ); CommentRemover::RemoveMultiLineComments("/*","*/",szTest2,' '); EXPECT_STREQ(szTestResult, szTest2); delete[] szTest2; }