Files
leetcode/tests/test_219.cpp
Jeffrey Hsu 7d45cb5978
Some checks failed
Gitea CTest Workflow / test (push) Failing after 3m20s
119 219 222
2026-03-09 19:58:49 +08:00

106 lines
2.2 KiB
C++

// This file is generated by mkfile.py
// Date: 2026-03-09
#include <fstream>
#include <gtest/gtest.h>
#include <solution/219.h>
int *loadArrayFromFile(const std::string &path, int *len)
{
std::ifstream file(path);
std::string s;
if (!file.is_open())
return NULL;
std::getline(file, s);
*len = 1;
for (char c : s)
if (c == ',')
(*len)++;
int *arr = new int[*len];
int index = 0;
int num = 0;
bool reading = false;
for (char c : s)
{
if (isdigit(c))
{
num = num * 10 + (c - '0');
reading = true;
}
else
{
if (reading)
{
arr[index++] = num;
num = 0;
reading = false;
}
}
}
return arr;
}
// 示例 1
TEST(ContainsNearbyDuplicateTest, Example1)
{
int nums[] = {1, 2, 3, 1};
bool result = containsNearbyDuplicate(nums, 4, 3);
EXPECT_TRUE(result);
}
// 示例 2
TEST(ContainsNearbyDuplicateTest, Example2)
{
int nums[] = {1, 0, 1, 1};
bool result = containsNearbyDuplicate(nums, 4, 1);
EXPECT_TRUE(result);
}
// 示例 3
TEST(ContainsNearbyDuplicateTest, Example3)
{
int nums[] = {1, 2, 3, 1, 2, 3};
bool result = containsNearbyDuplicate(nums, 6, 2);
EXPECT_FALSE(result);
}
TEST(ContainsNearbyDuplicateTest, Example4)
{
int nums[] = {1, 5, 1, 0};
bool result = containsNearbyDuplicate(nums, 4, 2);
EXPECT_TRUE(result);
}
TEST(ContainsNearbyDuplicateTest, Example5)
{
int nums[] = {0, 1, 2, 3, 4, 0, 0, 7, 8, 9, 10, 11, 12, 0};
bool result = containsNearbyDuplicate(nums, 14, 1);
EXPECT_TRUE(result);
}
TEST(ContainsNearbyDuplicateTest, Example6)
{
int len;
auto arr = loadArrayFromFile("../../file/test_219_6", &len);
ASSERT_TRUE(arr);
bool result = containsNearbyDuplicate(arr, len, 35000);
EXPECT_FALSE(result);
delete[] arr;
}
TEST(ContainsNearbyDuplicateTest, Example7)
{
int len;
auto arr = loadArrayFromFile("../../file/test_219_7", &len);
ASSERT_TRUE(arr);
bool result = containsNearbyDuplicate(arr, len, 99999);
EXPECT_TRUE(result);
delete[] arr;
}