From 14ad94340c8d3e07fc0231dbe20bb161c4d8f36c Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Mon, 18 Mar 2019 20:06:44 +0100 Subject: [PATCH] [plsql] Add test for TooManyMethods and fix the rule --- .../main/resources/category/plsql/design.xml | 12 +-- .../plsql/rule/design/TooManyMethodsTest.java | 11 +++ .../plsql/rule/design/xml/TooManyMethods.xml | 93 +++++++++++++++++++ 3 files changed, 110 insertions(+), 6 deletions(-) create mode 100644 pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/rule/design/TooManyMethodsTest.java create mode 100644 pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/rule/design/xml/TooManyMethods.xml diff --git a/pmd-plsql/src/main/resources/category/plsql/design.xml b/pmd-plsql/src/main/resources/category/plsql/design.xml index 24e549f2ab..d48d7c5461 100644 --- a/pmd-plsql/src/main/resources/category/plsql/design.xml +++ b/pmd-plsql/src/main/resources/category/plsql/design.xml @@ -512,22 +512,22 @@ have more fine grained objects. ( count(/descendant::ProgramUnit[ not ( - starts-with(@Image,'get') + starts-with(@Name,'get') or - starts-with(@Image,'set') + starts-with(@Name,'set') or - starts-with(@Image,'is') + starts-with(@Name,'is') ) ] ) + count(/descendant::TypeMethod[ not ( - starts-with(@Image,'get') + starts-with(@Name,'get') or - starts-with(@Image,'set') + starts-with(@Name,'set') or - starts-with(@Image,'is') + starts-with(@Name,'is') ) ] ) diff --git a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/rule/design/TooManyMethodsTest.java b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/rule/design/TooManyMethodsTest.java new file mode 100644 index 0000000000..391b08d111 --- /dev/null +++ b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/rule/design/TooManyMethodsTest.java @@ -0,0 +1,11 @@ +/** + * BSD-style license; for more info see http://pmd.sourceforge.net/license.html + */ + +package net.sourceforge.pmd.lang.plsql.rule.design; + +import net.sourceforge.pmd.testframework.PmdRuleTst; + +public class TooManyMethodsTest extends PmdRuleTst { + // no additional unit tests +} diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/rule/design/xml/TooManyMethods.xml b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/rule/design/xml/TooManyMethods.xml new file mode 100644 index 0000000000..52ef1705e6 --- /dev/null +++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/rule/design/xml/TooManyMethods.xml @@ -0,0 +1,93 @@ + + + + + Too many methods in a package + 3 + 1 + + + + plsql + + + + Getters are ignored + 3 + 0 + + + + plsql + + + + Too many methods in a type definition + 3 + 1 + + + + plsql + + + + Getters/Setters are ignored for types + 3 + 0 + + + + plsql + + + +