Beispiel #1
0
        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;
        }
Beispiel #2
0
        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);
        }