pgLab/tests/pglabtests/tst_NameManglingRules.cpp

82 lines
2 KiB
C++
Raw Permalink Normal View History

#include <gtest/gtest.h>
#include <gmock/gmock-matchers.h>
#include "PrintTo_Qt.h"
#include "codebuilder/NameManglingRules.h"
#include "Pgsql_oids.h"
using namespace testing;
class NameManglingRulesTest : public ::testing::Test, public ::testing::WithParamInterface<
std::tuple<QString, NameManglingRules::CaseConversion, bool> > {
protected:
virtual void SetUp() override
{
NameManglingRules r;
2018-09-17 15:41:47 +02:00
// auto p = GetParam();
// //ReplaceRules replaceRules;
// // { {"[ -_]", QRegularExpression::OptimizeOnFirstUsageOption }, "", true }
// // r.replaceRules;
// //CaseConversion caseConversion = CaseConversion::AsIs; ///< overall case conversion rule
// r.caseConversion = std::get<1>(p);
// //CaseConversion caseFirstChar = CaseConversion::AsIs; ///< case of the first char
// //r.camelCase = std::get<2>(p); ///< removes underscores and make first char after underscore uppercase
// rules = r;
}
NameManglingRules rules;
};
2018-09-17 15:41:47 +02:00
// First a few test to test some basic things
TEST_F(NameManglingRulesTest, caseConversionAsIs)
{
QString input = "Ab";
QString expected = input;
NameManglingRules rules;
rules.caseConversion = NameManglingRules::CaseConversion::AsIs;
QString result = rules.transform(input);
ASSERT_EQ(result, expected);
}
TEST_F(NameManglingRulesTest, caseConversionLower)
{
QString input = "Ab";
QString expected = "ab";
NameManglingRules rules;
rules.caseConversion = NameManglingRules::CaseConversion::Lower;
QString result = rules.transform(input);
2018-09-17 15:41:47 +02:00
ASSERT_EQ(result, expected);
}
TEST_F(NameManglingRulesTest, caseConversionUpper)
{
2018-09-17 15:41:47 +02:00
QString input = "Ab";
QString expected = "AB";
NameManglingRules rules;
rules.caseConversion = NameManglingRules::CaseConversion::Upper;
QString result = rules.transform(input);
ASSERT_EQ(result, expected);
}
2018-09-17 15:41:47 +02:00
TEST_F(NameManglingRulesTest, replace)
{
2018-09-17 15:41:47 +02:00
QString input = "abc-def ghi";
QString expected = "abc_Def_Ghi";
NameManglingRules rules;
rules.replaceRules.push_back({QRegularExpression("[- ]"), "_", true});
QString result = rules.transform(input);
ASSERT_EQ(result, expected);
}