AFC - Abacus Formula Compiler for Java

Refactoring the Reference Tests

Goals:

  • Better reporting of tests run, and of failures.
  • Better concurrent execution of tests.
  • Easier to add new test variant dimensions.

Dimensions today, and in the near future:

  • Numeric type
  • Caching
  • Resettable
  • Compatibility mode (Excel, OOo, etc.)
  • Bound inputs

Test structure:

  • Run a test row with a given input binding spec and engine.
  • Differentiate value results and exception results.
  • Produce an engine for a row with a given input binding spec.
  • Produce input and output values for a row (assuming full input binding).
  • Setup tests for a test row varying bound inputs.
  • Setup tests for a sheet.
  • Setup tests varying the fixed dimensions; can drive either a sheet or a row test builder.

Producing the documentation:

  • Separate DocumentationBuilder.