#include #include #include class MakeFancyStringTest : public ::testing::Test { protected: void AssertFancyString(const std::string &input, const std::string &expected) { char *c_input = strdup(input.c_str()); // 复制一份以防原始修改 char *result = makeFancyString(c_input); ASSERT_STREQ(result, expected.c_str()); // 如函数返回的是 malloc 分配的,则应释放 // free(result); free(c_input); } }; // 示例 1:leeetcode → leetcode TEST_F(MakeFancyStringTest, Example1) { AssertFancyString("leeetcode", "leetcode"); } // 示例 2:aaabaaaa → aabaa TEST_F(MakeFancyStringTest, Example2) { AssertFancyString("aaabaaaa", "aabaa"); } // 示例 3:aab → aab TEST_F(MakeFancyStringTest, Example3) { AssertFancyString("aab", "aab"); }