tame/progtest
Mike Gerwitz 06435f9f17 progtest: Add runner script
* .gitignore: Ignore new generated files (Autoconf, Automake, output).
* Makefile: Rename to `Makefile.am', dynamically expand
  `--harmony-destructuring'.
* autogen.sh: New script.
* bin/runner.in: New runner script.
* bin/runner.js: Resolve program path relative to CWD.
* configure.ac: New configure script.
2018-03-05 15:57:38 -05:00
..
bin progtest: Add runner script 2018-03-05 15:57:38 -05:00
build-aux progtest: Generate index.js files 2018-02-19 15:21:14 -05:00
src TestRunner: Recognize error as failure 2018-02-23 15:45:54 -05:00
test TestRunner: Recognize error as failure 2018-02-23 15:45:54 -05:00
.gitignore progtest: Add runner script 2018-03-05 15:57:38 -05:00
Makefile.am progtest: Add runner script 2018-03-05 15:57:38 -05:00
README.md progtest/README.md: Basic test case format documentation 2018-02-23 14:30:02 -05:00
autogen.sh progtest: Add runner script 2018-03-05 15:57:38 -05:00
configure.ac progtest: Add runner script 2018-03-05 15:57:38 -05:00
package.json progtest/package.json (devDependencies): Add mocha and chai 2018-02-23 10:34:38 -05:00

README.md

Program Testing

A /program/ is a top-level package (either marked as with @program="true", or with a root rater node). This system provides a means of writing and running test cases.

Test Case Format

Test cases must be provided in a YAML file. Each test case has a description (description), input data (data), and expected results (expect).

- description: >-
    Example test case    
  data:
    state:              [ STATE_AK ]
    prem_total:         [ 9000 ]
    effective_date:     12/05/2017
  expect:
    premTaxStamping: [ 1234 ]
    premTaxSurplus:  [ 1010 ]

A file may contain any number of test cases. All identifiers in data and expect must be valid inputs (params) and outputs (classifications and calculations) respectively. Inputs are passed as-is to the program, and outputs are recursively (deeply) compared.