Atdd takes type definitions in the ATD format and derives dlang
classes that can read and write JSON data. This saves the developer the
labor writing boilerplate that converts between dicts and classes.
This allows safe interoperability with other languages supported by ATD such as OCaml, Java, Python or Scala.
See the sample input type definitions everything.atd and the D output everything.d.
Requirements for building and testing atdd
:
- Opam and dependencies installed from the
atd
project root withmake setup
. - ldc >= 1.27.0
Requirements for generating D code:
- the
atdd
executable
Requirements for compiling the generated D code:
- ldc >= 1.27.0
- TODO
Build or rebuild with make
. Test with make test
. This requires
ldc2.
Running the tests is done from the atdd/
main folder with make test
.
We have two kinds of tests for atdd:
- code generation and D tests:
- they generate D code from ATD files and compare the D output against the expectations.
- the generated code is executed by some tests.