!2 !-DoFixture-!:
!3 ''keywords''
 * Actions start with a ''keyword'' and appear in every second cell.
 * A ''keyword'' cell can be empty.
 * The last ''keyword'' is optional.
 * A ''keyword'' can contain any characters, such as "+"
!3 Special actions
!-DoFixture-! has several special actions, which apply to the rest of their row:
 * ''check'' checks whether the result of the action in the rest of the row matches the value in the last cell of the row. That last cell is colored green, red, etc accordingly.
 * ''reject'' checks that the action fails, as expected.
 * ''not'' acts the same as ''reject''.
 * ''ensure'' checks that the action succeeds.
 * ''show'' displays the result of the action in the rest of the row by adding an extra cell in the report.
 * ''show dot'' displays the result of the action in the rest of the row by adding an extra cell in the report. This is shown as a Dot graph.
 * ''note'' ignores the rest of the row, allowing notes to be included in tables
 * ''comment'' ignores the rest of the table
 * ''ignored'' ignores the rest of the table, but colours it as ignored in the report
 * ''abandon storytest'' to ignore the rest of the storytest (without colouring it as ignored)
!3 Postfix Special Actions (new in 2008)
 * Instead of writing:
|'''check'''|''some action''|a|''with arg''|b|4.0|
 * You can now write:
|''some action''|a|''with arg''|b|'''is'''|4.0|
 * And the following is prepared to wait awhile for the value to become 4.0
|''some action''|a|''with arg''|b|'''becomes'''|4.*|
 * A similar special action does pattern matching:
|''some action''|a|''with arg''|b|'''matches'''|4.*|

See .FitLibrary.SpecifiCations.DoWorkflow.SpecialActions for further details
!3 Flow Style
To be in "flow", the first table must be a ''!-DoFixture-!'' (or ''!-SequenceFixture-!''). The actions in all following tables are carried out with that fixture. However, as we saw before, an action may provide a different fixture, such as a ''!-RowFixture-!'', which will be used with the rest of the table.

This restriction has now been relaxed, so that the first table doesn't have to be a ''!-DoFixture-!'' . Instead, the first ''!-DoFixture-!'' table in the storytest will continue the storytest in flow.

However, this behaviour requires that the following define is placed high in the page structure:
{{{
!define TEST_RUNNER {fitlibrary.suite.FitLibraryServer}
}}}See .FitLibrary.SpecifiCations.GoingIntoFlow for further details.
!3 More Examples
Lots more examples of using !-DoFixture-! and the other flow fixtures are provided in ''Fit for Developing Software'' by Rick Mugridge and Ward Cunningham, Prentice-Hall, 2005. The tables and fixture code for these examples will be made available on the [[Fit website][http://fit.w2.com]].
!3 Fixture Code
Let's now look at WritingFixtures for !-DoFixture-! tables.
!3 More Technical Issues
SpecialisedIssues

