Skip to content

Add Plain Language Behavior Test Descriptions #129

@JamesPHoughton

Description

@JamesPHoughton

One of the ways software engineering has made it easier to test software is with behavior driven development tools, and natural language test specifications, such as Gherkin in the Cucumber project.

I'd like to be able to write a test using language like:

## Test 1:
Whenever `Room Temperature` is above `Teacup Temperature`
    Then `Heat Flow to Room` is negative.

## Test 2:
`Room Temperature` is always above -459.67  

## Test 3:
When `Desired Inventory` is zero
    And `Backlog` is empty
    Then `New Work Starts` should be simultaneously zero.

## Test Behavioral Realism:
Desired Income is always greater than Actual Income

## T5.1
If `net income per plumber` becomes 0 at time 10
    Then the `number of plumbers` should be zero by time 13

or something similar.

Some of these are tests that you run on every timestep of every simulation run (Test 2 and Test Behavioral Realism). Some are run on every timestep in which a certain condition is met (Test 1). Some set up specific runs to see the result (Test 3 and T5.1)

It would be nice if this text formatted into something nice using a markdown parser.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions