Mike Gerwitz

Activist for User Freedom

aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Gerwitz <mike.gerwitz@rtspecialty.com>2018-02-23 14:30:02 -0500
committerMike Gerwitz <mike.gerwitz@rtspecialty.com>2018-02-23 14:30:02 -0500
commit7475b5b928751fcc0c536d183d49ee8891436a00 (patch)
treeb14ff968cc6cf63898629e051dd1adeb02cf5498 /progtest/README.md
parent6b7e75c886e08f600ae14c93377ee7e2519f35e9 (diff)
downloadtame-7475b5b928751fcc0c536d183d49ee8891436a00.tar.gz
tame-7475b5b928751fcc0c536d183d49ee8891436a00.tar.bz2
tame-7475b5b928751fcc0c536d183d49ee8891436a00.zip
progtest/README.md: Basic test case format documentationv2.10.0
Diffstat (limited to 'progtest/README.md')
-rw-r--r--progtest/README.md33
1 files changed, 33 insertions, 0 deletions
diff --git a/progtest/README.md b/progtest/README.md
index a18ba1b..d2fdad4 100644
--- a/progtest/README.md
+++ b/progtest/README.md
@@ -1,5 +1,38 @@
# Program Testing
+<!--
+ Copyright (C) 2018 R-T Specialty, LLC.
+
+ This file is part of TAME.
+
+ Copying and distribution of this file, with or without modification, are
+ permitted in any medium without royalty provided the copyright notice and
+ this notice are preserved. This file is offered as-is, without warranty
+ of any kind.
+-->
+
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.