예제 #1
0
 public void ctor_LegalValue_InitializeFields()
 {
     CrapDataEntry target = new CrapDataEntry(VALID_TYPE_NAME,
                                VALID_METHOD_NAME,
                                5.4,12,1);
     Assert.AreEqual(5.4, target.Crap);
     Assert.AreEqual(VALID_TYPE_NAME, target.Method.TypeName);
     Assert.AreEqual(VALID_METHOD_NAME, target.Method.MethodName);
 }
예제 #2
0
        public static IList<CrapDataEntry> CreateCrapReport(string coverageReport, string ccmReport)
        {
            LoadData(coverageReport, ccmReport);

            var results = new List<CrapDataEntry>();
            var combinedData = Join(CoverageParser.Data, CCParser.Data);

            foreach (var item in combinedData)
            {
                var crapValue = CrapCalculator.CalculateCrap(item.CyclomaticComplexity, item.CoverageData);
                var entry = new CrapDataEntry(item.Method.TypeName,
                                item.Method.MethodName,
                                crapValue,
                                item.CoverageData,
                                item.CyclomaticComplexity);
                results.Add(entry);
            }
            return results;
        }
예제 #3
0
 public void Equals_IdenticalValues_ReturnTrue()
 {
     CrapDataEntry target1 = new CrapDataEntry("SomeClass", "SomeMethod", 1.54, 0, 0);
     CrapDataEntry target2 = new CrapDataEntry("SomeClass", "SomeMethod", 1.54, 0, 0);
     Assert.IsTrue(target1.Equals(target2));
 }
예제 #4
0
 public void Equals_DifferentTypeName_ReturnFalse()
 {
     CrapDataEntry target1 = new CrapDataEntry("SomeClass", VALID_METHOD_NAME, 1, 0, 0);
     CrapDataEntry target2 = new CrapDataEntry("SomeClass1", VALID_METHOD_NAME, 1, 0, 0);
     Assert.IsFalse(target1.Equals(target2));
 }
예제 #5
0
 public void Equals_DifferentMethod_ReturnFalse()
 {
     CrapDataEntry target1 = new CrapDataEntry(VALID_TYPE_NAME, "SomeMethod", 1, 0, 0);
     CrapDataEntry target2 = new CrapDataEntry(VALID_TYPE_NAME, "SomeMethod1", 1, 0, 0);
     Assert.IsFalse(target1.Equals(target2));
 }
예제 #6
0
 public void Equals_DifferentCrapValue_ReturnFalse()
 {
     CrapDataEntry target1 = new CrapDataEntry(VALID_TYPE_NAME, VALID_METHOD_NAME, 1, 0, 0);
     CrapDataEntry target2 = new CrapDataEntry(VALID_TYPE_NAME, VALID_METHOD_NAME, 2, 0, 0);
     Assert.IsFalse(target1.Equals(target2));
 }
예제 #7
0
 public void ctor_TooBigCoverageValue_ThrowsException()
 {
     CrapDataEntry target = new CrapDataEntry(VALID_TYPE_NAME, VALID_METHOD_NAME, 5.4, 101, 3);
 }
예제 #8
0
 public void ctor_NegativeCrapValue_ThrowsException()
 {
     CrapDataEntry target = new CrapDataEntry(VALID_TYPE_NAME, VALID_METHOD_NAME, -1, 0, 0);
 }
예제 #9
0
 public void CrapLoadCalculatedCorrectlyWhenCoverageIsZero()
 {
     CrapDataEntry target1 = new CrapDataEntry("SomeClass", "SomeMethod", 40.51, 0, 9);
     Assert.AreEqual(9.5999999999999996d, target1.CalculateCrapLoad());
 }
예제 #10
0
 public void CrapLoadCalculatedCorrectly()
 {
     CrapDataEntry target1 = new CrapDataEntry("SomeClass", "SomeMethod", 40.51, 27, 9);
     Assert.AreEqual(9.2666666666666675d, target1.CalculateCrapLoad());
 }
예제 #11
0
 public void Equals_NullValue_ReturnFalse()
 {
     CrapDataEntry target = new CrapDataEntry(VALID_TYPE_NAME, VALID_METHOD_NAME, 1, 0, 0);
     bool actual = target.Equals(null);
     Assert.IsFalse(actual);
 }
예제 #12
0
        private XmlElement CreateMethodElement(XmlDocument xmlDoc,CrapDataEntry method)
        {
            var methodElement = xmlDoc.CreateElement("method");

            var package = xmlDoc.CreateElement("package");
            var packValue = xmlDoc.CreateTextNode(method.Method.TypeName);
            package.AppendChild(packValue);
            methodElement.AppendChild(package);

            var className = xmlDoc.CreateElement("className");
            var classNameValue = xmlDoc.CreateTextNode(method.Method.TypeName);
            className.AppendChild(classNameValue);
            methodElement.AppendChild(className);

            var methodName = xmlDoc.CreateElement("methodName");
            var methodNameValue = xmlDoc.CreateTextNode(method.Method.MethodName);
            methodName.AppendChild(methodNameValue);
            methodElement.AppendChild(methodName);

            var methodSignature = xmlDoc.CreateElement("methodSignature");
            var methodSignatureValue = xmlDoc.CreateTextNode("()");
            methodSignature.AppendChild(methodSignatureValue);
            methodElement.AppendChild(methodSignature);

            var fullMethod = xmlDoc.CreateElement("fullMethod");
            var fullMethodValue = xmlDoc.CreateTextNode(string.Format("{0}.{1}",method.Method.TypeName,method.Method.MethodName));
            fullMethod.AppendChild(fullMethodValue);
            methodElement.AppendChild(fullMethod);

            var crap = xmlDoc.CreateElement("crap");
            var crapValue = xmlDoc.CreateTextNode(method.Crap.ToString());
            crap.AppendChild(crapValue);
            methodElement.AppendChild(crap);

            var complexity= xmlDoc.CreateElement("complexity");
            var complexityValue = xmlDoc.CreateTextNode(method.CC.ToString());
            complexity.AppendChild(complexityValue);
            methodElement.AppendChild(complexity);

            var coverage = xmlDoc.CreateElement("coverage");
            var coverageValue = xmlDoc.CreateTextNode(method.Coverage.ToString());
            coverage.AppendChild(coverageValue);
            methodElement.AppendChild(coverage);

            var crapLoad = xmlDoc.CreateElement("crapLoad");
            var crapLoadValue = xmlDoc.CreateTextNode(method.CalculateCrapLoad().ToString("0"));
            crapLoad.AppendChild(crapLoadValue);
            methodElement.AppendChild(crapLoad);

            return methodElement;
        }