Follows a @Scenario annotation to the column it names
All 3 scenarios hold
A published table carries more than its text. The reporter marks which column names the scenario, and which column holds the expectation. It also records how each row fared when it ran.
A mark needs somewhere to live, and the three formats put one in different places. HTML sets a class on the cell. AsciiDoc puts a role prefix on the value. Markdown has nowhere at all. The rules below therefore print the cell each format published, and never name the mark. A reader can then see the difference.
Each rule names the sample test class it reads. Its rows are the columns, or the rows, of that class's table.
The first column holds the scenario by convention, not by requirement. A test can take every column as a parameter and still name one of them the scenario. Annotate that parameter with @Scenario. The mark then follows the annotation, and not the position.
These rows read AnnotatedScenarioSample: Year | Case | Leap?, whose second parameter carries the annotation.
| Scenario | Column | In markdown? | In AsciiDoc? | In HTML? |
|---|---|---|---|---|
| A column before the annotated one | Year | Year | ++Year++ | <th class="cell"><span class="literal">Year</span></th> |
| The annotated column | Case | Case | [.scenario]#++Case++# | <th class="cell scenario"><span class="literal">Case</span></th> |
| The expectation is unaffected | Leap? | Leap? | [.expectation]#++Leap?++# | <th class="cell expectation"><span class="literal">Leap?</span></th> |