コード例 #1
0
 private void CheckForMissingExamples(Feature feature, List <ParserException> errors)
 {
     foreach (var scenarioOutline in feature.FlattenScenarioDefinitions().OfType <ScenarioOutline>())
     {
         if (DoesntHavePopulatedExamples(scenarioOutline))
         {
             var message = $"Scenario Outline '{scenarioOutline.Name}' has no examples defined";
             var semanticParserException = new SemanticParserException(message, scenarioOutline.Location);
             errors.Add(semanticParserException);
         }
     }
 }
コード例 #2
0
 private void CheckForMissingExamples(Feature feature, List <ParserException> errors)
 {
     foreach (var scenarioDefinition in feature.ScenarioDefinitions())
     {
         var scenarioOutline = scenarioDefinition as ScenarioOutline;
         if (scenarioOutline != null)
         {
             if (DoesntHavePopulatedExamples(scenarioOutline))
             {
                 var message = string.Format("Scenario Outline '{0}' has no examples defined", scenarioOutline.Name);
                 var semanticParserException = new SemanticParserException(message, scenarioDefinition.Location);
                 errors.Add(semanticParserException);
             }
         }
     }
 }
コード例 #3
0
        private void CheckForDuplicateExamples(Feature feature, List <ParserException> errors)
        {
            foreach (var scenarioOutline in feature.FlattenScenarioDefinitions().OfType <ScenarioOutline>())
            {
                var duplicateExamples = scenarioOutline.Examples
                                        .Where(e => !String.IsNullOrWhiteSpace(e.Name))
                                        .Where(e => e.Tags.All(t => t.Name != "ignore"))
                                        .GroupBy(e => e.Name, e => e).Where(g => g.Count() > 1);

                foreach (var duplicateExample in duplicateExamples)
                {
                    var message = $"Scenario Outline '{scenarioOutline.Name}' already contains an example with name '{duplicateExample.Key}'";
                    var semanticParserException = new SemanticParserException(message, duplicateExample.ElementAt(1).Location);
                    errors.Add(semanticParserException);
                }
            }
        }