diff options
author | Sebastien Pouliot <sebastien.pouliot@gmail.com> | 2013-04-28 19:33:04 +0400 |
---|---|---|
committer | Sebastien Pouliot <sebastien.pouliot@gmail.com> | 2013-04-28 19:33:04 +0400 |
commit | 6e7e1cde353ff4927b39f82fe1066eb951506fab (patch) | |
tree | 2e4ea77d06d128ab9f38e88b26694f4db3a7665a | |
parent | 77617444d1b330eadfeaacf0061dc25d88fad362 (diff) | |
parent | cbc720e3e79c0842b534ebc4f0070eac875b7a8a (diff) |
Merge pull request #20 from krijesta/use-correct-prefix
Modify UseCorrectPrefixRule to support classes begining with two letter words starting with I
-rw-r--r-- | gendarme/rules/Gendarme.Rules.Naming/Test/UseCorrectPrefixTest.cs | 5 | ||||
-rw-r--r-- | gendarme/rules/Gendarme.Rules.Naming/UseCorrectPrefixRule.cs | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/gendarme/rules/Gendarme.Rules.Naming/Test/UseCorrectPrefixTest.cs b/gendarme/rules/Gendarme.Rules.Naming/Test/UseCorrectPrefixTest.cs index 7ac68802..70003407 100644 --- a/gendarme/rules/Gendarme.Rules.Naming/Test/UseCorrectPrefixTest.cs +++ b/gendarme/rules/Gendarme.Rules.Naming/Test/UseCorrectPrefixTest.cs @@ -54,6 +54,10 @@ namespace Test.Rules.Naming { public class ILRange { } + public class InMemoryDoohicky + { + } + public interface I { } @@ -102,6 +106,7 @@ namespace Test.Rules.Naming { AssertRuleFailure<CIncorrectClass> (1); AssertRuleFailure<INcorrectClass> (1); AssertRuleSuccess<ILRange> (); + AssertRuleSuccess<InMemoryDoohicky> (); } [Test] diff --git a/gendarme/rules/Gendarme.Rules.Naming/UseCorrectPrefixRule.cs b/gendarme/rules/Gendarme.Rules.Naming/UseCorrectPrefixRule.cs index 83ce5ac4..03ff58cd 100644 --- a/gendarme/rules/Gendarme.Rules.Naming/UseCorrectPrefixRule.cs +++ b/gendarme/rules/Gendarme.Rules.Naming/UseCorrectPrefixRule.cs @@ -90,9 +90,9 @@ namespace Gendarme.Rules.Naming { return true; switch (name [0]) { - case 'C': // MFC like CMyClass - but works for CLSCompliant - case 'I': // interface-like - return Char.IsLower (name [1]) == Char.IsLower (name [2]); + case 'C': // MFC like CMyClass should fail - but works for CLSCompliant + case 'I': // interface-like - Classes beginning with In or Is etc should pass, e.g. InMemoryDoohicky + return Char.IsLower (name [1]) ? true : Char.IsUpper (name [2]); default: return true; } |