Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono-tools.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Pouliot <sebastien.pouliot@gmail.com>2013-04-28 19:33:04 +0400
committerSebastien Pouliot <sebastien.pouliot@gmail.com>2013-04-28 19:33:04 +0400
commit6e7e1cde353ff4927b39f82fe1066eb951506fab (patch)
tree2e4ea77d06d128ab9f38e88b26694f4db3a7665a
parent77617444d1b330eadfeaacf0061dc25d88fad362 (diff)
parentcbc720e3e79c0842b534ebc4f0070eac875b7a8a (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.cs5
-rw-r--r--gendarme/rules/Gendarme.Rules.Naming/UseCorrectPrefixRule.cs6
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;
}