Exemplo n.º 1
0
 internal static void MatchResult(ExtendedExamples examples, ScenarioDefinition scenario, ICollection <SbeScenario> results)
 {
     foreach (var row in examples.Rows)
     {
         var rowTitle = row.GetTitle(scenario.Name);
         var result   = results.FirstOrDefault(x => x.Title.Equals(rowTitle, StringComparison.OrdinalIgnoreCase));
         row.Result = result.Outcome;
     }
 }
Exemplo n.º 2
0
            internal static ExtendedExamples Create(Examples examples)
            {
                var extended = new ExtendedExamples
                {
                    Keyword = examples.Keyword,
                    Headers = examples.TableHeader.Cells.Select(x => x.Value).ToArray(),
                };

                extended.Rows = examples.TableBody.Select(row => ExtendedTableRow.Create(row, extended.Headers)).ToArray();

                return(extended);
            }
Exemplo n.º 3
0
        private void ScenarioHtml(ScenarioDefinition scenario, StringBuilder sb, ICollection <SbeScenario> results)
        {
            var result   = results.FirstOrDefault(x => x.Title == scenario.Name)?.Outcome ?? Outcome.Inconclusive;
            var outline  = scenario as ScenarioOutline;
            var examples = outline?.Examples.Select(ExtendedExamples.Create).ToArray();

            if (outline != null)
            {
                examples?.ToList().ForEach(x => ExtendedExamples.MatchResult(x, scenario, results));
                result = GetOutlineResultFromExamples(examples);
            }

            sb.AppendLine("<div class=\"scenario\">");
            sb.AppendLine($"<table class=\"title\"><tr><td>{GenerateStatusImageTag(result)}</td><td class=\"text\">{scenario.Keyword}: {HtmlEncode(scenario.Name)}</td></tr></table>");
            sb.AppendLine($"<p>{AddLineBreaks(HtmlEncode(scenario.Description))}</p>");
            StepsHtml(sb, scenario.Steps);
            ExamplesHtml(sb, examples);
            sb.AppendLine("</div>");
        }