Ejemplo n.º 1
0
        public RootViewModel(IEnumerable<Spec> specs)
        {
            RootFolder = new FolderViewModel("");
            foreach (var spec in specs)
            {
                var c = spec.CallingMethod.DeclaringType;
                var testClassViewModel = RootFolder.SubFolder(c.Namespace).Class(c);
                testClassViewModel.Specs.Add(new SpecViewModel(spec));
            }

            RootFolder.MergeSingleFolders();

            foreach (var c in RootFolder.DescendantClasses())
            {
                c.TrySortTestsByClassLayout();
            }
        }
Ejemplo n.º 2
0
        public FolderViewModel SubFolder(string path)
        {
            if (string.IsNullOrEmpty(path))
            {
                return this;
            }

            var split = path.Split(new[] { '.' }, 2);
            var folder = SubFolders.SingleOrDefault(x => x.Name == split[0]);

            if (folder == null)
            {
                folder = new FolderViewModel(split[0]);
                SubFolders.Add(folder);
            }
            return folder.SubFolder(split.ElementAtOrDefault(1));
        }
Ejemplo n.º 3
0
        public FolderViewModel SubFolder(string path)
        {
            if (string.IsNullOrEmpty(path))
            {
                return(this);
            }

            var split  = path.Split(new[] { '.' }, 2);
            var folder = SubFolders.SingleOrDefault(x => x.Name == split[0]);

            if (folder == null)
            {
                folder = new FolderViewModel(split[0]);
                SubFolders.Add(folder);
            }
            return(folder.SubFolder(split.ElementAtOrDefault(1)));
        }
Ejemplo n.º 4
0
        public RootViewModel(IEnumerable <Spec> specs)
        {
            RootFolder = new FolderViewModel("");
            foreach (var spec in specs)
            {
                var c = spec.CallingMethod.DeclaringType;
                var testClassViewModel = RootFolder.SubFolder(c.Namespace).Class(c);
                testClassViewModel.Specs.Add(new SpecViewModel(spec));
            }

            RootFolder.MergeSingleFolders();

            foreach (var c in RootFolder.DescendantClasses())
            {
                c.TrySortTestsByClassLayout();
            }
        }
public System.Web.WebPages.HelperResult FolderToc(FolderViewModel folder)
{
return new System.Web.WebPages.HelperResult(__razor_helper_writer => {



#line 178 "..\..\Output\SinglePageRazorTemplate.cshtml"
 
	if (!string.IsNullOrWhiteSpace(folder.Name))
	{
		var statusCounts = folder.DescendantClasses().SelectMany(y => y.Specs.Select(x => x.Status)).ToList();

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, "\t\t<span class=\"folderName\">\r\n\t\t\t<span class=\"folderGlyph\"></span>\r\n\t\t\t<span class" +
"=\"folderNameText\">");



#line 184 "..\..\Output\SinglePageRazorTemplate.cshtml"
 WriteTo(@__razor_helper_writer, folder.Name);

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, "</span>\r\n\t\t\t<span class=\"graph\" style=\"");



#line 185 "..\..\Output\SinglePageRazorTemplate.cshtml"
WriteTo(@__razor_helper_writer, Gradient(statusCounts));

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, "\" title=\"");



#line 185 "..\..\Output\SinglePageRazorTemplate.cshtml"
                               WriteTo(@__razor_helper_writer, Title(statusCounts));

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, " in folder \'");



#line 185 "..\..\Output\SinglePageRazorTemplate.cshtml"
                                                               WriteTo(@__razor_helper_writer, folder.Name);

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, "\'\"></span>\r\n\t\t</span>\r\n");



#line 187 "..\..\Output\SinglePageRazorTemplate.cshtml"
	}

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, "\t<ul data-tags=\"");



#line 188 "..\..\Output\SinglePageRazorTemplate.cshtml"
WriteTo(@__razor_helper_writer, string.Join(" ", folder.DescendantClasses().SelectMany(x => x.Specs).SelectMany(x => x.EffectiveTags()).Distinct()));

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, "\">\r\n");



#line 189 "..\..\Output\SinglePageRazorTemplate.cshtml"
 		foreach (var child in folder.SubFolders.OrderBy(x => x.Name))
		{
			var featureClass = folder.DescendantClasses().SelectMany(x => x.Specs).Select(x => x.Status).DefaultIfEmpty(Status.Pending).Max().ToString().ToLowerInvariant();

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, "\t\t\t<li class=\"folder ");



#line 192 "..\..\Output\SinglePageRazorTemplate.cshtml"
WriteTo(@__razor_helper_writer, featureClass);

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, "\">\r\n\r\n\t\t\t\t");



#line 194 "..\..\Output\SinglePageRazorTemplate.cshtml"
WriteTo(@__razor_helper_writer, FolderToc(child));

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, "\r\n\t\t\t</li>\r\n");



#line 196 "..\..\Output\SinglePageRazorTemplate.cshtml"
		}

#line default
#line hidden



#line 197 "..\..\Output\SinglePageRazorTemplate.cshtml"
 		foreach (var feature in folder.Classes.OrderBy(x => x.Name))
		{
			var maxStatus = feature.Specs.Select(x => x.Status).DefaultIfEmpty(Status.Pending).Max();
			var featureClass = maxStatus.ToString().ToLowerInvariant();

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, "\t\t\t<li class=\"feature ");



#line 201 "..\..\Output\SinglePageRazorTemplate.cshtml"
WriteTo(@__razor_helper_writer, featureClass);

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, "\" title=\"Feature: ");



#line 201 "..\..\Output\SinglePageRazorTemplate.cshtml"
                      WriteTo(@__razor_helper_writer, feature.Name);

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, " (");



#line 201 "..\..\Output\SinglePageRazorTemplate.cshtml"
                                     WriteTo(@__razor_helper_writer, maxStatus);

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, ")\" data-tags=\"");



#line 201 "..\..\Output\SinglePageRazorTemplate.cshtml"
                                                             WriteTo(@__razor_helper_writer, string.Join(" ", feature.Specs.SelectMany(x => x.EffectiveTags()).Distinct()));

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, "\">\r\n\t\t\t\t<a class=\"featureLink\" href=\"#");



#line 202 "..\..\Output\SinglePageRazorTemplate.cshtml"
   WriteTo(@__razor_helper_writer, AnchorName(feature));

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, "\">");



#line 202 "..\..\Output\SinglePageRazorTemplate.cshtml"
                         WriteTo(@__razor_helper_writer, feature.Name);

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, "</a>\r\n\t\t\t\t<ul class=\"scenarios\">\r\n");



#line 204 "..\..\Output\SinglePageRazorTemplate.cshtml"
 					foreach (var spec in feature.Specs)
					{
						var scenarioClass = spec.Status.ToString().ToLowerInvariant();

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, "\t\t\t\t\t\t<li class=\"");



#line 207 "..\..\Output\SinglePageRazorTemplate.cshtml"
WriteTo(@__razor_helper_writer, scenarioClass);

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, "\" title=\"Scenario: ");



#line 207 "..\..\Output\SinglePageRazorTemplate.cshtml"
                   WriteTo(@__razor_helper_writer, spec.MethodName);

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, " (");



#line 207 "..\..\Output\SinglePageRazorTemplate.cshtml"
                                     WriteTo(@__razor_helper_writer, spec.Status);

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, ")\" data-tags=\"");



#line 207 "..\..\Output\SinglePageRazorTemplate.cshtml"
                                                               WriteTo(@__razor_helper_writer, string.Join(" ", spec.EffectiveTags()));

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, "\">\r\n\t\t\t\t\t\t\t<a class=\"scenarioLink\" href=\"#");



#line 208 "..\..\Output\SinglePageRazorTemplate.cshtml"
       WriteTo(@__razor_helper_writer, AnchorName(feature, spec));

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, "\">");



#line 208 "..\..\Output\SinglePageRazorTemplate.cshtml"
                                   WriteTo(@__razor_helper_writer, spec.MethodName);

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, "</a>\r\n\t\t\t\t\t\t</li>\r\n");



#line 210 "..\..\Output\SinglePageRazorTemplate.cshtml"
					}

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, "\t\t\t\t</ul>\r\n\t\t\t</li>\r\n");



#line 213 "..\..\Output\SinglePageRazorTemplate.cshtml"
		}

#line default
#line hidden

WriteLiteralTo(@__razor_helper_writer, "\t</ul>\r\n");



#line 215 "..\..\Output\SinglePageRazorTemplate.cshtml"

#line default
#line hidden

});

}