diff --git a/progtest/README.md b/progtest/README.md index a18ba1b3..d2fdad4f 100644 --- a/progtest/README.md +++ b/progtest/README.md @@ -1,5 +1,38 @@ # 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`). + +```yaml +- 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.