blob: 76570dfe4a8375e16ff6451937d4eff5e615a0c8 [file] [log] [blame]
#include "utils.hpp"
#include <gtest/gtest.h>
TEST(IfindFirstTest, BasicMatch)
{
auto [firstIndex, lastIndex] = iFindFirst("Hello World", "World");
EXPECT_EQ(firstIndex, 6);
EXPECT_EQ(lastIndex, 11);
}
TEST(IfindFirstTest, CaseInsensitiveMatch)
{
auto [firstIndex, lastIndex] = iFindFirst("Hello World", "world");
EXPECT_EQ(firstIndex, 6);
EXPECT_EQ(lastIndex, 11);
}
TEST(IfindFirstTest, NoMatch)
{
auto [firstIndex, lastIndex] = iFindFirst("Hello World", "Planet");
EXPECT_EQ(firstIndex, std::string_view::npos);
EXPECT_EQ(lastIndex, std::string_view::npos);
}
TEST(IfindFirstTest, MatchAtStart)
{
auto [firstIndex, lastIndex] = iFindFirst("Hello World", "HeLLo");
EXPECT_EQ(firstIndex, 0);
EXPECT_EQ(lastIndex, 5);
}
TEST(IfindFirstTest, MatchAtEnd)
{
auto [firstIndex, lastIndex] = iFindFirst("Hello World", "LD");
EXPECT_EQ(firstIndex, 9);
EXPECT_EQ(lastIndex, 11);
}
TEST(IfindFirstTest, EmptySubstring)
{
auto [firstIndex, lastIndex] = iFindFirst("Hello", "");
EXPECT_EQ(firstIndex, std::string_view::npos);
EXPECT_EQ(lastIndex, std::string_view::npos);
}
TEST(IfindFirstTest, EmptyString)
{
auto [firstIndex, lastIndex] = iFindFirst("", "Hello");
EXPECT_EQ(firstIndex, std::string_view::npos);
EXPECT_EQ(lastIndex, std::string_view::npos);
}