30 lines
734 B
C++
30 lines
734 B
C++
#include <gtest/gtest.h>
|
|
#include <solution/1717.h>
|
|
|
|
class MaximumGainTest : public ::testing::Test
|
|
{
|
|
protected:
|
|
void AssertMaximumGain(const std::string &input, int x, int y, int expected)
|
|
{
|
|
char *s = strdup(input.c_str()); // 复制字符串,防止修改原始数据
|
|
int result = maximumGain(s, x, y);
|
|
ASSERT_EQ(result, expected);
|
|
free(s);
|
|
}
|
|
};
|
|
|
|
// 示例 1
|
|
TEST_F(MaximumGainTest, Example1)
|
|
{
|
|
// 输入:s = "cdbcbbaaabab", x = 4, y = 5
|
|
// 输出:19
|
|
AssertMaximumGain("cdbcbbaaabab", 4, 5, 19);
|
|
}
|
|
|
|
// 示例 2
|
|
TEST_F(MaximumGainTest, Example2)
|
|
{
|
|
// 输入:s = "aabbaaxybbaabb", x = 5, y = 4
|
|
// 输出:20
|
|
AssertMaximumGain("aabbaaxybbaabb", 5, 4, 20);
|
|
} |