/// <summary> /// Converts the provided <see cref="Gherkin.Ast.Scenario"/> instance into a <see cref="Augurk.Entities.Scenario"/> instance. /// </summary> /// <param name="scenario">The <see cref="Gherkin.Ast.Scenario"/> instance that should be converted.</param> /// <param name="dialect">The <see cref="GherkinDialect"/> that is being used for this feature.</param> /// <returns>The converted <see cref="Augurk.Entities.Scenario"/> instance.</returns> public static Scenario ConvertToScenario(this Gherkin.Ast.Scenario scenario, GherkinDialect dialect) { if (scenario == null) { throw new ArgumentNullException(nameof(scenario)); } return(new Scenario() { Title = scenario.Name, Description = scenario.Description, Tags = scenario.Tags.ConvertToStrings(), Steps = scenario.Steps.ConvertToSteps(dialect), ExampleSets = scenario.Examples.ConvertToExampleSets(), Location = scenario.Location.ConvertToSourceLocation() }); }
/// <summary> /// Converts the provided <see cref="Gherkin.Ast.ScenarioDefinition"/> instance into a <see cref="Augurk.Entities.Scenario"/> instance. /// </summary> /// <param name="scenarioDefinition">The <see cref="Gherkin.Ast.ScenarioDefinition"/> instance that should be converted.</param> /// <param name="dialect">The <see cref="GherkinDialect"/> that is being used for this feature.</param> /// <returns>The converted <see cref="Augurk.Entities.Scenario"/> instance.</returns> public static Scenario ConvertToScenario(this Gherkin.Ast.ScenarioDefinition scenarioDefinition, GherkinDialect dialect) { if (scenarioDefinition == null) { throw new ArgumentNullException("scenario"); } Gherkin.Ast.ScenarioOutline outline = scenarioDefinition as Gherkin.Ast.ScenarioOutline; if (outline != null) { return(outline.ConvertToScenario(dialect)); } Gherkin.Ast.Scenario scenario = scenarioDefinition as Gherkin.Ast.Scenario; return(new Scenario() { Title = scenario.Name, Description = scenario.Description, Tags = scenario.Tags.ConvertToStrings(), Steps = scenario.Steps.ConvertToSteps(dialect), Location = scenario.Location.ConvertToSourceLocation() }); }