tame/progtest/README.md

1.2 KiB

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.