using System; using Xunit; namespace Coverlet.Core.Reporters.Tests { public class OpenCoverReporterTests { [Fact] public void TestReport() { CoverageResult result = new CoverageResult(); result.Identifier = Guid.NewGuid().ToString(); result.Modules = new Modules(); result.Modules.Add("Coverlet.Core.Reporters.Tests", CreateFirstDocuments()); OpenCoverReporter reporter = new OpenCoverReporter(); Assert.NotEqual(string.Empty, reporter.Report(result)); } [Fact] public void TestFilesHaveUniqueIdsOverMultipleModules() { CoverageResult result = new CoverageResult(); result.Identifier = Guid.NewGuid().ToString(); result.Modules = new Modules(); result.Modules.Add("Coverlet.Core.Reporters.Tests", CreateFirstDocuments()); result.Modules.Add("Some.Other.Module", CreateSecondDocuments()); OpenCoverReporter reporter = new OpenCoverReporter(); var xml = reporter.Report(result); Assert.NotEqual(string.Empty, xml); Assert.Contains(@"", xml); Assert.Contains(@"", xml); } private static Documents CreateFirstDocuments() { Lines lines = new Lines(); lines.Add(1, new LineInfo { Hits = 1 }); lines.Add(2, new LineInfo { Hits = 0 }); Methods methods = new Methods(); methods.Add("System.Void Coverlet.Core.Reporters.Tests.OpenCoverReporterTests.TestReport()", lines); Classes classes = new Classes(); classes.Add("Coverlet.Core.Reporters.Tests.OpenCoverReporterTests", methods); Documents documents = new Documents(); documents.Add("doc.cs", classes); return documents; } private static Documents CreateSecondDocuments() { Lines lines = new Lines(); lines.Add(1, new LineInfo { Hits = 1 }); lines.Add(2, new LineInfo { Hits = 0 }); Methods methods = new Methods(); methods.Add("System.Void Some.Other.Module.TestClass.TestMethod()", lines); Classes classes2 = new Classes(); classes2.Add("Some.Other.Module.TestClass", methods); var documents = new Documents(); documents.Add("TestClass.cs", classes2); return documents; } } }