예제 #1
0
        public void MethodName_HasLenght_BiggerThanLimitSize_ISSearchable()
        {
            var pronounceableRule = QualityRules.PronounceableName;
            var name = "ValidatePKDMN";

            var method             = MockMethod.EmptyMethod(name);
            var methodNameAnalyzer = new MethodName(TestBootStrapped.GetInstanceOfNamingConvention());

            methodNameAnalyzer.Analyze(method);
            var analyzeResult = methodNameAnalyzer.GetResult();

            var isPronounceable = !analyzeResult.Any(a => a.ViolatedRule.Equals(pronounceableRule));

            Assert.IsFalse(isPronounceable);
        }
예제 #2
0
        public void MethodName_HasAPartThat_NotExistInDictionary_IsNotPronounceable()
        {
            var pronounceableRule = QualityRules.PronounceableName;
            var name = "ValidateKMLS";

            var method             = MockMethod.EmptyMethod(name);
            var methodNameAnalyzer = new MethodName(TestBootStrapped.GetInstanceOfNamingConvention());

            methodNameAnalyzer.Analyze(method);
            var analyzeResult = methodNameAnalyzer.GetResult();

            var isPronounceable = !analyzeResult.Any(a => a.ViolatedRule.Equals(pronounceableRule));

            Assert.IsFalse(isPronounceable);
        }
예제 #3
0
        public void MethodName_StartsByGerunds_HasNotPosError()
        {
            var partOfSpeachRule = QualityRules.VerbForMethodName;
            var verbName         = "validate";

            var method             = MockMethod.EmptyMethod(verbName);
            var methodNameAnalyzer = new MethodName(TestBootStrapped.GetInstanceOfNamingConvention());

            methodNameAnalyzer.Analyze(method);
            var analyzeResult = methodNameAnalyzer.GetResult();

            var hasRightPartOfSpeech = !analyzeResult.Any(a => a.ViolatedRule.Equals(partOfSpeachRule));

            Assert.IsTrue(hasRightPartOfSpeech);
        }
예제 #4
0
        public void MethodName_StartsByNoun_HasAnalyzerError()
        {
            var partOfPeachRule = QualityRules.VerbForMethodName;
            var nounName        = "validation";

            var method             = MockMethod.EmptyMethod(nounName);
            var methodNameAnalyzer = new MethodName(TestBootStrapped.GetInstanceOfNamingConvention());

            methodNameAnalyzer.Analyze(method);
            var analyzeResult = methodNameAnalyzer.GetResult();

            var hasRightPartOfPeach = !analyzeResult.Any(a => a.ViolatedRule.Equals(partOfPeachRule));

            Assert.IsFalse(hasRightPartOfPeach);
        }
예제 #5
0
        public void MethodName_WithPartsThat_ExistInDictionary_IsPronounceable()
        {
            var pronounceableRule = QualityRules.PronounceableName;
            var name = "ValidateSomeFieldsWithSmallName";

            var method             = MockMethod.EmptyMethod(name);
            var methodNameAnalyzer = new MethodName(TestBootStrapped.GetInstanceOfNamingConvention());

            methodNameAnalyzer.Analyze(method);
            var analyzeResult = methodNameAnalyzer.GetResult();

            var isPronounceable = !analyzeResult.Any(a => a.ViolatedRule.Equals(pronounceableRule));

            Assert.IsTrue(isPronounceable);
        }
예제 #6
0
        public void MethodName_HasLenght_SmallerThanLimitSize_ISNotSearchable()
        {
            var searchableRule = QualityRules.SearchableName;
            var minimLength    = new Metric().MinimumLengthOfName;
            var name           = NameHelper.RandomString(minimLength - 1);

            var method             = MockMethod.EmptyMethod(name);
            var methodNameAnalyzer = new MethodName(TestBootStrapped.GetInstanceOfNamingConvention());

            methodNameAnalyzer.Analyze(method);
            var analyzeResult = methodNameAnalyzer.GetResult();

            var isSearchable = !analyzeResult.Any(a => a.ViolatedRule.Equals(searchableRule));

            Assert.IsFalse(isSearchable);
        }
예제 #7
0
        public void ClassWithMethods_NotUsingAnyOfClassFields_HasCohesionError()
        {
            var cohesionRule = QualityRules.ClassCohesion;

            var method1     = MockMethod.EmptyMethod("Method1");
            var method2     = MockMethod.EmptyMethod("Method2");
            var classFields = new[] { "field1", "field2" };

            var classDef         = MockClass.GetClass(classFields, new[] { method1, method2 });
            var cohesionAnalyzer = new ClassCohesion(TestBootStrapped.GetInstanceOfICohesion());

            cohesionAnalyzer.Analyze(classDef);
            var analyzeResult = cohesionAnalyzer.GetResult();

            var isCohesive = !analyzeResult.Any(a => a.ViolatedRule.Equals(cohesionRule));

            Assert.IsFalse(isCohesive);
        }