diff --git a/pglablib/codebuilder/NameManglingRules.h b/pglablib/codebuilder/NameManglingRules.h index 5857d79..610c64b 100644 --- a/pglablib/codebuilder/NameManglingRules.h +++ b/pglablib/codebuilder/NameManglingRules.h @@ -34,11 +34,10 @@ public: ReplaceRules replaceRules; // { {"[ -_]", QRegularExpression::OptimizeOnFirstUsageOption }, "", true } - QString replaceSpaceWith; ///< default is empty string which means remove spaces //CollisionHandling CollisionHandling = CollisionHandling::Restrict; CaseConversion caseConversion = CaseConversion::AsIs; ///< overall case conversion rule //CaseConversion caseFirstChar = CaseConversion::AsIs; ///< case of the first char - bool camelCase = false; ///< removes underscores and make first char after underscore uppercase +// bool camelCase = false; ///< removes underscores and make first char after underscore uppercase void apply(const ReplaceRule &rule, QString &in) const; diff --git a/tests/pglabtests/tst_NameManglingRules.cpp b/tests/pglabtests/tst_NameManglingRules.cpp index 2163a09..f09ee82 100644 --- a/tests/pglabtests/tst_NameManglingRules.cpp +++ b/tests/pglabtests/tst_NameManglingRules.cpp @@ -14,41 +14,68 @@ protected: { NameManglingRules r; - auto p = GetParam(); - //ReplaceRules replaceRules; - // { {"[ -_]", QRegularExpression::OptimizeOnFirstUsageOption }, "", true } - r.replaceRules; +// auto p = GetParam(); +// //ReplaceRules replaceRules; +// // { {"[ -_]", QRegularExpression::OptimizeOnFirstUsageOption }, "", true } +// // r.replaceRules; - //QString replaceSpaceWith; ///< default is empty string which means remove spaces - r.replaceSpaceWith = std::get<0>(p); - - //CollisionHandling CollisionHandling = CollisionHandling::Restrict; - //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; +// //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; }; +// First a few test to test some basic things -TEST_P(NameManglingRulesTest, test1) + +TEST_F(NameManglingRulesTest, caseConversionAsIs) { - ASSERT_EQ(rules.replaceSpaceWith, std::get<0>(GetParam())); + QString input = "Ab"; + QString expected = input; + + NameManglingRules rules; + rules.caseConversion = NameManglingRules::CaseConversion::AsIs; + QString result = rules.transform(input); + + ASSERT_EQ(result, expected); } -TEST_P(NameManglingRulesTest, test2) +TEST_F(NameManglingRulesTest, caseConversionLower) { - ASSERT_EQ(rules.camelCase, std::get<2>(GetParam())); + QString input = "Ab"; + QString expected = "ab"; + + NameManglingRules rules; + rules.caseConversion = NameManglingRules::CaseConversion::Lower; + QString result = rules.transform(input); + + ASSERT_EQ(result, expected); +} + +TEST_F(NameManglingRulesTest, caseConversionUpper) +{ + QString input = "Ab"; + QString expected = "AB"; + + NameManglingRules rules; + rules.caseConversion = NameManglingRules::CaseConversion::Upper; + QString result = rules.transform(input); + + ASSERT_EQ(result, expected); +} + +TEST_F(NameManglingRulesTest, replace) +{ + 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); } -INSTANTIATE_TEST_CASE_P(InstantiationName1, - NameManglingRulesTest, - ::testing::Combine( - ::testing::Values("", "_", "+"), - ::testing::Values(NameManglingRules::CaseConversion::AsIs, - NameManglingRules::CaseConversion::Lower, - NameManglingRules::CaseConversion::Upper), - ::testing::Bool() - ));