Slim - Decision Table (test case as a row)

Fitnesse Architecture

About

A decision table is a language structure of Fitness that defines tests run and expectation.

Similar to Fit Column Fixture

See Basic test with a decision table

Example

|eg.Division                    |
|numerator|denominator|quotient?|
|10       |2          |5.0      |
|12.6     |3          |4.2      |
|22       |7          |~=3.14   |
|9        |3          |<5       |
|11       |2          |4<_<6    |
|100      |4          |33       |

where

  • eg.division is the fixture code where eg specifies a Java package (or other language namespace), and Division specifies the actual class to be called.
  • the rows are processed from left to right,
  • the input values are headers without a question mark ?
  • the input values are passed to the corresponding fields using setter functions
  • the expected value are the header with a question mark (ie quotient?) and can be expressed with operators:
    • ~=3.14 - approximately equal
    • <5 - less than
    • 4<_<6 - between

This decision table would test this Java class:

public class Division {
  private double numerator, denominator;
  
  public void setNumerator(double numerator) {
    this.numerator = numerator;
  }
  
  public void setDenominator(double denominator) {
    this.denominator = denominator;
  }
  
  public double quotient() {
    return numerator/denominator;
  }
}

Documentation / Reference





Discover More
Fitnesse Architecture
Fit - Column Fixture

ColumnFixture maps table columns directly to: properties, methods and fields of the fixture class. It is very useful for repetitive verification (as parameterized test) if the same test needs...
Fitnesse Architecture
Fitnesse - Fixture

A fixture is a test class that test the system and that matches the expected format of test table. Division The engine will: call it and pass the contents of the test table to the methods of the...
Fitnesse Architecture
Fitnesse - Getting Started

A little getting started guide for fitness Slim has several test written in table format. We will use the decision table where eg specifies a Java package (or other language namespace),...
Fitnesse Architecture
Fitnesse - Slim Engine

Slim is the next engine generation of Fitnesse. It will replace fit. To set slim as the engine, add the following to your test page or to a parent page. Import: Env: Table Fixtures...
Fitnesse Architecture
Fitnesse - Test Table

A table (test table) is the basic statement of Fitnesse in order to defined test. The format is table dependent but they generally take the basic form of: a constructor row (that defines the test...



Share this page:
Follow us:
Task Runner