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);
|
||
} |