Example #1
0
        private XElement GetPackageElement(CoberturaPackage package)
        {
            var packageElement = new XElement("package");

            packageElement.AddAttributeIfItHasValue("name", package.Name);
            packageElement.AddAttributeIfItHasValue("line-rate", package.LineRate);
            packageElement.AddAttributeIfItHasValue("branch-rate", package.BranchRate);
            packageElement.AddAttributeIfItHasValue("complexity", package.Complexity);

            if (package.Classes?.Any() == true)
            {
                var classesElement = GetClassesElement(package);
                packageElement.Add(classesElement);
            }

            return(packageElement);
        }
Example #2
0
        private XElement GetLinesElement(List <CoberturaLine> lines)
        {
            var linesElement = new XElement("lines");

            foreach (var line in lines)
            {
                var lineElement = new XElement("line");

                lineElement.AddAttributeIfItHasValue("number", line.Number);
                lineElement.AddAttributeIfItHasValue("hits", line.Hits);
                lineElement.AddAttributeIfItHasValue("branch", line.IsBranch);

                linesElement.Add(lineElement);
            }

            return(linesElement);
        }
Example #3
0
        private XElement GetRootElement()
        {
            var coverageElement = new XElement("coverage");

            coverageElement.AddAttributeIfItHasValue("line-rate", _report.LineRate);
            coverageElement.AddAttributeIfItHasValue("branch-rate", _report.BranchRate);
            coverageElement.AddAttributeIfItHasValue("lines-covered", _report.LinesCovered);
            coverageElement.AddAttributeIfItHasValue("lines-valid", _report.LinesValid);
            coverageElement.AddAttributeIfItHasValue("branches-covered", _report.BranchesCovered);
            coverageElement.AddAttributeIfItHasValue("branches-valid", _report.BranchesValid);
            coverageElement.AddAttributeIfItHasValue("complexity", _report.Complexity);
            coverageElement.AddAttributeIfItHasValue("version", _report.Version);
            coverageElement.AddAttributeIfItHasValue("timestamp", _report.Timestamp);

            AddSourcesIfPresent(coverageElement);

            AddPackagesIfPresent(coverageElement);

            return(coverageElement);
        }
Example #4
0
        private XElement GetMethodsElement(CoberturaClass coberturaClass)
        {
            var methodsElement = new XElement("methods");

            foreach (var method in coberturaClass.Methods)
            {
                var methodElement = new XElement("method");

                methodElement.AddAttributeIfItHasValue("name", method.Name);
                methodElement.AddAttributeIfItHasValue("signature", method.Signature);
                methodElement.AddAttributeIfItHasValue("line-rate", method.LineRate);
                methodElement.AddAttributeIfItHasValue("branch-rate", method.BranchRate);

                if (method.Lines?.Any() == true)
                {
                    var linesElement = GetLinesElement(method.Lines);
                    methodElement.Add(linesElement);
                }

                methodsElement.Add(methodElement);
            }

            return(methodsElement);
        }
Example #5
0
        private XElement GetClassElement(CoberturaClass coberturaClass)
        {
            var classElement = new XElement("class");

            classElement.AddAttributeIfItHasValue("name", coberturaClass.Name);
            classElement.AddAttributeIfItHasValue("filename", coberturaClass.FileName);
            classElement.AddAttributeIfItHasValue("line-rate", coberturaClass.LineRate);
            classElement.AddAttributeIfItHasValue("branch-rate", coberturaClass.BranchRate);
            classElement.AddAttributeIfItHasValue("complexity", coberturaClass.Complexity);

            if (coberturaClass.Methods?.Any() == true)
            {
                var methodsElement = GetMethodsElement(coberturaClass);
                classElement.Add(methodsElement);
            }

            if (coberturaClass.Lines?.Any() == true)
            {
                var linesElement = GetLinesElement(coberturaClass.Lines);
                classElement.Add(linesElement);
            }

            return(classElement);
        }