|
@@ -3,13 +3,14 @@
|
|
* Company: Lynar Studios
|
|
* Company: Lynar Studios
|
|
* E-Mail: webmaster@lynarstudios.com
|
|
* E-Mail: webmaster@lynarstudios.com
|
|
* Created: 2023-02-09
|
|
* Created: 2023-02-09
|
|
-* Changed: 2023-02-17
|
|
|
|
|
|
+* Changed: 2023-02-18
|
|
*
|
|
*
|
|
* */
|
|
* */
|
|
|
|
|
|
#include <gtest/gtest.h>
|
|
#include <gtest/gtest.h>
|
|
#include <ls-std/ls-std-core.hpp>
|
|
#include <ls-std/ls-std-core.hpp>
|
|
#include <ls-std/ls-std-io.hpp>
|
|
#include <ls-std/ls-std-io.hpp>
|
|
|
|
+#include <string>
|
|
|
|
|
|
using namespace ls::std::core;
|
|
using namespace ls::std::core;
|
|
using namespace ls::std::io;
|
|
using namespace ls::std::io;
|
|
@@ -31,24 +32,45 @@ namespace
|
|
{}
|
|
{}
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+ class SectionPairRowValueValidatorValidTest : public ::testing::TestWithParam<string>
|
|
|
|
+ {
|
|
|
|
+ protected:
|
|
|
|
+
|
|
|
|
+ SectionPairRowValueValidatorValidTest() = default;
|
|
|
|
+ ~SectionPairRowValueValidatorValidTest() override = default;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ class SectionPairRowValueValidatorNotValidTest : public ::testing::TestWithParam<string>
|
|
|
|
+ {
|
|
|
|
+ protected:
|
|
|
|
+
|
|
|
|
+ SectionPairRowValueValidatorNotValidTest() = default;
|
|
|
|
+ ~SectionPairRowValueValidatorNotValidTest() override = default;
|
|
|
|
+ };
|
|
|
|
+
|
|
TEST_F(SectionPairRowValueValidatorTest, getClassName)
|
|
TEST_F(SectionPairRowValueValidatorTest, getClassName)
|
|
{
|
|
{
|
|
ASSERT_STREQ("SectionPairRowValueValidator", SectionPairRowValueValidator{"any value"}.getClassName().c_str());
|
|
ASSERT_STREQ("SectionPairRowValueValidator", SectionPairRowValueValidator{"any value"}.getClassName().c_str());
|
|
}
|
|
}
|
|
|
|
|
|
- TEST_F(SectionPairRowValueValidatorTest, isValid)
|
|
|
|
|
|
+ TEST_F(SectionPairRowValueValidatorTest, getValidationRegex)
|
|
{
|
|
{
|
|
- ASSERT_TRUE(SectionPairRowValueValidator{"blue is my favourite color!"}.isValid());
|
|
|
|
- ASSERT_TRUE(SectionPairRowValueValidator{"Age"}.isValid());
|
|
|
|
- ASSERT_TRUE(SectionPairRowValueValidator{"Tom"}.isValid());
|
|
|
|
- ASSERT_TRUE(SectionPairRowValueValidator{"\"Tom\""}.isValid());
|
|
|
|
- ASSERT_TRUE(SectionPairRowValueValidator{"Hello!" + NewLine::get()}.isValid());
|
|
|
|
- ASSERT_TRUE(SectionPairRowValueValidator{"Hello!" + NewLine::getWindowsNewLine()}.isValid());
|
|
|
|
|
|
+ string expected = R"(([a-zA-Z0-9\-_#!?\[\]\{\}\(\)\$ۤ<>+:;., \*\/"]{1,32})|([a-zA-Z0-9\-_#!?\[\]\{\}\(\)\$ۤ<>+:;., \*\/"]{1,32}\n{1})|([a-zA-Z0-9\-_#!?\[\]\{\}\(\)\$ۤ<>+:;., \*\/"]{1,32}\r{1}\n{1}))";
|
|
|
|
+ string actual = SectionPairRowValueValidator::getValidationRegex();
|
|
|
|
+
|
|
|
|
+ ASSERT_STREQ(expected.c_str(), actual.c_str());
|
|
}
|
|
}
|
|
|
|
|
|
- TEST_F(SectionPairRowValueValidatorTest, isValid_not_valid)
|
|
|
|
|
|
+ TEST_P(SectionPairRowValueValidatorValidTest, isValid)
|
|
{
|
|
{
|
|
- ASSERT_FALSE(SectionPairRowValueValidator{"1+2=3"}.isValid());
|
|
|
|
- ASSERT_FALSE(SectionPairRowValueValidator{"\\escape"}.isValid());
|
|
|
|
|
|
+ ASSERT_TRUE(SectionPairRowValueValidator{GetParam()}.isValid());
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ TEST_P(SectionPairRowValueValidatorNotValidTest, isValid_not_valid)
|
|
|
|
+ {
|
|
|
|
+ ASSERT_FALSE(SectionPairRowValueValidator{GetParam()}.isValid());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ INSTANTIATE_TEST_SUITE_P(SectionPairRowValueValidatorTest, SectionPairRowValueValidatorValidTest, ::testing::Values("blue is my favourite color!", "Age", "Tom", "\"Tom\"", "Hello!" + NewLine::getUnixNewLine(), "Hello!" + NewLine::getWindowsNewLine()));
|
|
|
|
+ INSTANTIATE_TEST_SUITE_P(SectionPairRowValueValidatorTest, SectionPairRowValueValidatorNotValidTest, ::testing::Values("1+2=3", "\\escape"));
|
|
}
|
|
}
|