tame/progtest
Mike Gerwitz afc1a2038a progtest: Suppress terminating classifications during const run
Terminating classifications will occur any time there is actual data
validation, since we're passing no data at all.

* progtest/src/env.js (common): Pass argument to program#rater to suppress
  terminating classifications.
2018-03-06 14:16:32 -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 progtest: Suppress terminating classifications during const run 2018-03-06 14:16:32 -05:00
test progtest: Return empty array of test cases if none provided 2018-03-06 11:41:21 -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.