当前位置: 首页>>代码示例>>C#>>正文


C# Analysis.Class类代码示例

本文整理汇总了C#中Palmmedia.ReportGenerator.Parser.Analysis.Class的典型用法代码示例。如果您正苦于以下问题:C# Class类的具体用法?C# Class怎么用?C# Class使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


Class类属于Palmmedia.ReportGenerator.Parser.Analysis命名空间,在下文中一共展示了Class类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: SetMethodMetrics

        /// <summary>
        /// Extracts the metrics from the given <see cref="XElement">XElements</see>.
        /// </summary>
        /// <param name="methods">The methods.</param>
        /// <param name="class">The class.</param>
        private static void SetMethodMetrics(IEnumerable<XElement> methods, Class @class)
        {
            foreach (var method in methods)
            {
                string methodName = method.Element("MethodName").Value;

                // Exclude properties and lambda expressions
                if (methodName.StartsWith("get_", StringComparison.Ordinal)
                    || methodName.StartsWith("set_", StringComparison.Ordinal)
                    || Regex.IsMatch(methodName, "<.+>.+__"))
                {
                    continue;
                }

                var metrics = new[]
                {
                    new Metric(
                        "Blocks covered",
                        int.Parse(method.Element("BlocksCovered").Value, CultureInfo.InvariantCulture)),
                    new Metric(
                        "Blocks not covered",
                        int.Parse(method.Element("BlocksNotCovered").Value, CultureInfo.InvariantCulture))
                };

                @class.AddMethodMetric(new MethodMetric(methodName, metrics));
            }
        }
开发者ID:paolocosta,项目名称:OpenCoverSample,代码行数:32,代码来源:VisualStudioParser.cs

示例2: CreateClassReport

 /// <summary>
 /// Creates a class report.
 /// </summary>
 /// <param name="class">The class.</param>
 /// <param name="fileAnalyses">The file analyses that correspond to the class.</param>
 public override void CreateClassReport(Class @class, IEnumerable<FileAnalysis> fileAnalyses)
 {
     using (var renderer = new HtmlRenderer(false, this.javaScriptContent))
     {
         this.CreateClassReport(renderer, @class, fileAnalyses);
     }
 }
开发者ID:tigerjibo,项目名称:ReportGenerator,代码行数:12,代码来源:HtmlReportBuilder.cs

示例3: SetMethodMetrics

        /// <summary>
        /// Extracts the metrics from the given <see cref="XElement">XElements</see>.
        /// </summary>
        /// <param name="methods">The methods.</param>
        /// <param name="class">The class.</param>
        private static void SetMethodMetrics(IEnumerable<XElement> methods, Class @class)
        {
            foreach (var methodGroup in methods.GroupBy(m => m.Element("Name").Value))
            {
                var method = methodGroup.First();

                // Exclude properties and lambda expressions
                if (method.Attribute("skippedDueTo") != null
                    || method.HasAttributeWithValue("isGetter", "true")
                    || method.HasAttributeWithValue("isSetter", "true")
                    || Regex.IsMatch(methodGroup.Key, "::<.+>.+__"))
                {
                    continue;
                }

                var metrics = new[]
                {
                    new Metric(
                        "Cyclomatic Complexity",
                        methodGroup.Max(m => int.Parse(m.Attribute("cyclomaticComplexity").Value, CultureInfo.InvariantCulture))),
                    new Metric(
                        "Sequence Coverage",
                        methodGroup.Max(m => decimal.Parse(m.Attribute("sequenceCoverage").Value, CultureInfo.InvariantCulture))),
                    new Metric(
                        "Branch Coverage",
                        methodGroup.Max(m => decimal.Parse(m.Attribute("branchCoverage").Value, CultureInfo.InvariantCulture)))
                };

                @class.AddMethodMetric(new MethodMetric(methodGroup.Key, metrics));
            }
        }
开发者ID:tigerjibo,项目名称:ReportGenerator,代码行数:36,代码来源:OpenCoverParser.cs

示例4: HistoricCoverage

 /// <summary>
 /// Initializes a new instance of the <see cref="HistoricCoverage" /> class.
 /// </summary>
 /// <param name="class">The class.</param>
 /// <param name="executionTime">The execution time.</param>
 public HistoricCoverage(Class @class, DateTime executionTime)
     : this(executionTime)
 {
     this.CoveredLines = @class.CoveredLines;
     this.CoverableLines = @class.CoverableLines;
     this.TotalLines = @class.TotalLines.GetValueOrDefault();
     this.CoveredBranches = @class.CoveredBranches.GetValueOrDefault();
     this.TotalBranches = @class.TotalBranches.GetValueOrDefault();
 }
开发者ID:paolocosta,项目名称:OpenCoverSample,代码行数:14,代码来源:HistoricCoverage.cs

示例5: AddFile_AddSingleFile_FileIsStored

        public void AddFile_AddSingleFile_FileIsStored()
        {
            var assembly = new Assembly("C:\\test\\TestAssembly.dll");
            var sut = new Class("Test", assembly);
            var file = new CodeFile("C:\\temp\\Program.cs", new int[0]);
            sut.AddFile(file);

            Assert.AreEqual(file, sut.Files.First(), "Not equal");
            Assert.AreEqual(1, sut.Files.Count(), "Wrong number of classes");
        }
开发者ID:paolocosta,项目名称:OpenCoverSample,代码行数:10,代码来源:ClassTest.cs

示例6: Constructor

        public void Constructor()
        {
            Assembly assembly = new Assembly("C:\\test\\TestAssembly.dll");
            string classname = "TestClass";

            var sut = new Class(classname, assembly);

            Assert.AreEqual(assembly, sut.Assembly, "Not equal");
            Assert.AreEqual(classname, sut.Name, "Not equal");
        }
开发者ID:paolocosta,项目名称:OpenCoverSample,代码行数:10,代码来源:ClassTest.cs

示例7: AddClass_AddSingleClass_ClassIsStored

        public void AddClass_AddSingleClass_ClassIsStored()
        {
            var sut = new Assembly("C:\\test\\TestAssembly.dll");
            var @class = new Class("Test", sut);

            sut.AddClass(@class);

            Assert.AreEqual(@class, sut.Classes.First(), "Not equal");
            Assert.AreEqual(1, sut.Classes.Count(), "Wrong number of classes");
        }
开发者ID:paolocosta,项目名称:OpenCoverSample,代码行数:10,代码来源:AssemblyTest.cs

示例8: Merge_MergeAssemblyWithOneClass_ClassIsStored

        public void Merge_MergeAssemblyWithOneClass_ClassIsStored()
        {
            var sut = new Assembly("C:\\test\\TestAssembly.dll");
            var assemblyToMerge = new Assembly("C:\\test\\TestAssembly.dll");
            var @class = new Class("Test", sut);
            assemblyToMerge.AddClass(@class);

            sut.Merge(assemblyToMerge);

            Assert.AreEqual(@class, sut.Classes.First(), "Not equal");
            Assert.AreEqual(1, sut.Classes.Count(), "Wrong number of classes");
        }
开发者ID:paolocosta,项目名称:OpenCoverSample,代码行数:12,代码来源:AssemblyTest.cs

示例9: Equals

        public void Equals()
        {
            Assembly assembly = new Assembly("C:\\test\\TestAssembly.dll");
            string classname = "TestClass";

            var target1 = new Class(classname, assembly);
            var target2 = new Class(classname, assembly);
            var target3 = new Class(classname + "123", assembly);

            Assert.IsTrue(target1.Equals(target2), "Objects are not equal");
            Assert.IsFalse(target1.Equals(target3), "Objects are equal");
            Assert.IsFalse(target1.Equals(null), "Objects are equal");
            Assert.IsFalse(target1.Equals(new object()), "Objects are equal");
        }
开发者ID:paolocosta,项目名称:OpenCoverSample,代码行数:14,代码来源:ClassTest.cs

示例10: Merge_MergeClassWithOneFileAndOneMethodMetric_FileIsStored

        public void Merge_MergeClassWithOneFileAndOneMethodMetric_FileIsStored()
        {
            var assembly = new Assembly("C:\\test\\TestAssembly.dll");
            var sut = new Class("Test", assembly);
            var classToMerge = new Class("Test", assembly);
            var file = new CodeFile("C:\\temp\\Program.cs", new int[0]);
            var methodMetric = new MethodMetric("Test");
            classToMerge.AddFile(file);
            classToMerge.AddMethodMetric(methodMetric);
            sut.Merge(classToMerge);

            Assert.AreEqual(file, sut.Files.First(), "Not equal");
            Assert.AreEqual(1, sut.Files.Count(), "Wrong number of classes");
            Assert.AreEqual(methodMetric, sut.MethodMetrics.First(), "Not equal");
            Assert.AreEqual(1, sut.MethodMetrics.Count(), "Wrong number of method metrics");
        }
开发者ID:JamesPinkard,项目名称:Support_Packages,代码行数:16,代码来源:ClassTest.cs

示例11: Merge_MergeClassWithCoverageQuota_FileIsStored

        public void Merge_MergeClassWithCoverageQuota_FileIsStored()
        {
            var assembly = new Assembly("C:\\test\\TestAssembly.dll");
            var sut = new Class("Test", assembly);
            var classToMerge = new Class("Test", assembly)
            {
                CoverageQuota = 15
            };

            sut.Merge(classToMerge);

            Assert.AreEqual(15, sut.CoverageQuota);

            classToMerge = new Class("Test", assembly)
            {
                CoverageQuota = 20
            };

            sut.Merge(classToMerge);

            Assert.AreEqual(20, sut.CoverageQuota);
        }
开发者ID:paolocosta,项目名称:OpenCoverSample,代码行数:22,代码来源:ClassTest.cs

示例12: SetMethodMetrics

        /// <summary>
        /// Extracts the metrics from the given <see cref="XElement">XElements</see>.
        /// </summary>
        /// <param name="methods">The methods.</param>
        /// <param name="class">The class.</param>
        private static void SetMethodMetrics(IEnumerable<XElement> methods, Class @class)
        {
            foreach (var methodGroup in methods.GroupBy(m => m.Element("Name").Value))
            {
                var method = methodGroup.First();

                // Exclude properties and lambda expressions
                if (method.Attribute("skippedDueTo") != null
                    || method.HasAttributeWithValue("isGetter", "true")
                    || method.HasAttributeWithValue("isSetter", "true")
                    || Regex.IsMatch(methodGroup.Key, "::<.+>.+__"))
                {
                    continue;
                }

                string methodName = Regex.Replace(
                    methodGroup.Key,
                    MethodRegex,
                    m => string.Format(CultureInfo.InvariantCulture, "{0}({1})", m.Groups["MethodName"].Value, m.Groups["Arguments"].Value.Length > 0 ? "..." : string.Empty));

                var metrics = new[] 
                { 
                    new Metric(
                        "Cyclomatic Complexity", 
                        methodGroup.Max(m => int.Parse(m.Attribute("cyclomaticComplexity").Value, CultureInfo.InvariantCulture))),
                    new Metric(
                        "Sequence Coverage", 
                        methodGroup.Max(m => int.Parse(m.Attribute("sequenceCoverage").Value, CultureInfo.InvariantCulture))),
                    new Metric(
                        "Branch Coverage", 
                        methodGroup.Max(m => int.Parse(m.Attribute("branchCoverage").Value, CultureInfo.InvariantCulture)))
                };

                @class.AddMethodMetric(new MethodMetric(methodName, metrics));
            }
        }
开发者ID:marto83,项目名称:Aqueduct.SpecDashboard,代码行数:41,代码来源:OpenCoverParser.cs

示例13: Merge

        /// <summary>
        /// Merges the given class with the current instance.
        /// </summary>
        /// <param name="class">The class to merge.</param>
        internal void Merge(Class @class)
        {
            if (@class == null)
            {
                throw new ArgumentNullException(nameof(@class));
            }

            if (this.coverageQuota.HasValue && @class.coverageQuota.HasValue)
            {
                this.CoverageQuota = Math.Max(this.coverageQuota.Value, @class.coverageQuota.Value);
            }
            else if (@class.coverageQuota.HasValue)
            {
                this.CoverageQuota = @class.coverageQuota.Value;
            }

            foreach (var methodMetric in @class.methodMetrics)
            {
                var existingMethodMetric = this.methodMetrics.FirstOrDefault(m => m.Name == methodMetric.Name);
                if (existingMethodMetric != null)
                {
                    existingMethodMetric.Merge(methodMetric);
                }
                else
                {
                    this.AddMethodMetric(methodMetric);
                }
            }

            foreach (var file in @class.files)
            {
                var existingFile = this.files.FirstOrDefault(f => f.Path == file.Path);
                if (existingFile != null)
                {
                    existingFile.Merge(file);
                }
                else
                {
                    this.AddFile(file);
                }
            }
        }
开发者ID:tigerjibo,项目名称:ReportGenerator,代码行数:46,代码来源:Class.cs

示例14: SummaryClass

        /// <summary>
        /// Adds the coverage information of a class to the report.
        /// </summary>
        /// <param name="class">The class.</param>
        public void SummaryClass(Class @class)
        {
            if (@class == null)
            {
                throw new ArgumentNullException("class");
            }

            string row = string.Format(
                CultureInfo.InvariantCulture,
                @"{0} & {1}\\",
                EscapeLatexChars(@class.Name),
                @class.CoverageQuota.HasValue ? @class.CoverageQuota.Value.ToString(CultureInfo.InvariantCulture) + @"\%" : string.Empty);

            this.reportTextWriter.WriteLine(row);
        }
开发者ID:shell88,项目名称:ReportGenerator,代码行数:19,代码来源:LatexRenderer.cs

示例15: CreateClassReport

 /// <summary>
 /// Creates a class report.
 /// </summary>
 /// <param name="class">The class.</param>
 /// <param name="fileAnalyses">The file analyses that correspond to the class.</param>
 public override void CreateClassReport(Class @class, IEnumerable<FileAnalysis> fileAnalyses)
 {
     this.CreateClassReport(new XmlRenderer(), @class, fileAnalyses);
 }
开发者ID:shell88,项目名称:ReportGenerator,代码行数:9,代码来源:XmlReportBuilder.cs


注:本文中的Palmmedia.ReportGenerator.Parser.Analysis.Class类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。