Feature: Rule output A rule model's string output is a Gherkin representation of itself and its most relevant attribute for inspection is the name of the rule that it models. @gherkin_min_version_18 Scenario: Stringify a rule model Given the following gherkin: """ @tag1@tag2 @tag3 Rule: A rule with everything it could have Including a description and then some. Background: a background Background description * a step |value1| |value2| * another step @scenario_tag Scenario: a scenario Scenario description * a step * another step \"\"\" with content type some text \"\"\" @outline_tag Scenario Outline: an outline Outline description * a step |value2| * another step \"\"\" some text \"\"\" @example_tag Examples: Example description |param| |value| Examples: additional example """ And a rule model based on that gherkin """ @model = CukeModeler::Rule.new() """ When the model is output as a string """ @model.to_s """ Then the following text is provided: """ @tag1 @tag2 @tag3 Rule: A rule with everything it could have Including a description and then some. Background: a background Background description * a step | value1 | | value2 | * another step @scenario_tag Scenario: a scenario Scenario description * a step * another step \"\"\" with content type some text \"\"\" @outline_tag Scenario Outline: an outline Outline description * a step | value2 | * another step \"\"\" some text \"\"\" @example_tag Examples: Example description | param | | value | Examples: additional example """ And the output can be used to make an equivalent model """ CukeModeler::Rule.new(@model.to_s) """ Scenario: Inspect a rule model Given the following gherkin: """ Rule: some rule Scenario: a scenario * a step """ And a rule model based on that gherkin """ @model = CukeModeler::Rule.new() """ When the model is inspected """ @model.inspect """ Then the following text is provided: """ # @name: "some rule"> """