private static emma.all CreateAll(dotcover.Root dc) { emma.all ret = new emma.all(); ret.name = "all classes"; ret.coverage = CreateCoverage(dc); List<emma.package> pkgs = new List<emma.package>(); foreach (var assembly in dc.Assembly) { if (assembly.Namespace != null) { foreach (var ns in assembly.Namespace) { emma.package pkg = new emma.package(); pkg.name = ns.Name; pkg.coverage = CreateCoverage(ns); CreateTypes(pkg, ns.Type); pkgs.Add(pkg); } } if (assembly.Type != null) { emma.package pkg = new emma.package(); pkg.name = assembly.Name; pkg.coverage = CreateCoverage(assembly); CreateTypes(pkg, assembly.Type); pkgs.Add(pkg); } } ret.package = pkgs.ToArray(); return ret; }
private emma.report ConvertToEmma(bullseye.BullseyeCoverage dc) { var folders = new Dictionary<string, emma.package>(); // Create packages ForEachSrc(dc, (path, folder, src) => { if (!folders.ContainsKey(path)) { var package = new emma.package(); package.name = ConvertPathToPackageName(path); package.coverage = CreateCoverage(folder); package.srcfile = new emma.srcfile[0]; folders.Add(path, package); } var files = new List<emma.srcfile>(folders[path].srcfile); files.Add(Convert(src)); folders[path].srcfile = files.ToArray(); }); // Add classes to the package foreach (var package in folders.Values) { Coverage classesCov = new Coverage(); foreach (var src in package.srcfile) { var covs = Utils.ParseCoverages(src.coverage); classesCov.Add(covs.ClassCovered, covs.ClassTotal); } var packageCovs = Utils.ParseCoverages(package.coverage); package.coverage = Utils.CreateCoverage(classesCov.Covered, classesCov.Total, packageCovs.MethodCovered, packageCovs.MethodTotal, packageCovs.BlockCovered, packageCovs.BlockTotal, packageCovs.LineCovered, packageCovs.LineTotal); } return Utils.CreateReport(folders.Values); }