Files
leetcode/tests/test_1668.cpp
2025-12-05 21:59:22 +08:00

50 lines
1.1 KiB
C++

// This file is generated by mkfile.py
// Date: 2025-12-05
#include <gtest/gtest.h>
#include <solution/1668.h>
#include <string>
// Tests for maxRepeating (LeetCode 1668)
class MaxRepeatingTest : public ::testing::Test
{
protected:
void AssertMaxRepeating(const std::string &sequence, const std::string &word, int expected)
{
int result = maxRepeating(const_cast<char *>(sequence.c_str()), const_cast<char *>(word.c_str()));
ASSERT_EQ(result, expected);
}
};
TEST_F(MaxRepeatingTest, Example1)
{
AssertMaxRepeating("ababc", "ab", 2);
}
TEST_F(MaxRepeatingTest, Example2)
{
AssertMaxRepeating("ababc", "ba", 1);
}
TEST_F(MaxRepeatingTest, RepeatedMany)
{
AssertMaxRepeating("abababab", "ab", 4);
}
TEST_F(MaxRepeatingTest, OverlappingNotAllowed)
{
// word = "aa", repeated twice is "aaaa" which appears, so answer 2
AssertMaxRepeating("aaaaa", "aa", 2);
}
TEST_F(MaxRepeatingTest, ShorterThanWord)
{
AssertMaxRepeating("a", "aa", 0);
}
TEST_F(MaxRepeatingTest, SingleCharWord)
{
AssertMaxRepeating("aaaa", "a", 4);
}