This repository has been developed in tandem with the Haskell implementation of the specification tester and test harness in order to sanity-check the specification: https://github.com/cspr-rad/actus-haskell
In order to continue this effort and eventually produce a specification version 2.0:
- Manually implement parsing/rendering the terms of the minimal annuity example in
spec/test-data/contracts/annuity.json
Fill in the TODOs in that file as you go along. This should give you an idea of what the codegen you'll write later will have to generate. - For the required contract terms of ANN:
- Correct the specification
- Real numbers don't exist
- Allowed values should be optional.
allowedValues = []
Looks like there aren't any allowed values. - Make sure the default value is an allowed value.
- Make sure the type is one of the types that has been specified.
- Reconsider whether we want enum values to be described using their acronyms or their identifiers.
- Produce examples in
test-data
- Add parsing and rendering tests to the implementation
- Implement the contract term parsing and rendering
- Add the type to the test harness parsing tests
- Add the type to the tester parsing tests
- Fix the
"TODO"
in the ANN contract test data now that we know what the data looks like - Add the field to the annuity contract parsing and rendering implementation
- Correct the specification
- For the ANN contract
- Double-check that the ANN contract test data is valid
- Add the type to the test harness parsing tests
- Add the type to the tester parsing tests
- Make a code generator for all the contract terms
- Correct the specification of each contract term as before
- Also implement in the other language
- Double-check that all parsing tests pass
- Make a code generator for all the contracts
- Also implement in the other language
- Double-check that all parsing tests pass
- Specify cashflow computation tests
- For each contract type, starting with ANN
- Specify the cashflow computation for the contract
- Produce test data for cashflow computations
- Implement the cashflow computations
- Add cashflow computations to the test harness
- Add cashflow computations to the tester
- Double-check that all the examples in
test-data
are still valid. - Incorporate the most up-to-date version of the dictionary.