Standards any APLAPL project must follow

Definitions

The Standards

All sub-projects offered to the APL community as part of the APLAPL project must follow some standards:

How to implement test cases in Dyalog

Show the details

  • All test cases are supposed to be in a namespace #.TestCases.

  • At least there is one function "Test_001". Depending on the complexity of the tests, there may be up to 999 different other functions.
  • Every function "Test_{number}" is supposed to implement one test case.
  • There should be a function #.TestCases.RunAll which is supposed to run all test cases in one go.

  • That function should accept a Boolean left argument:
    • 0 = no error trapping is performed when a test case is executed. As a result, the program halts.
    • 1 = error trapping is used to report a failing test case and then continue with the next one.

Note that following these suggestions makes it much easier for others to get familar with a sub-project, and to fiddle with it. This is not because these suggestion are so particularly good, it is because if everything follows the same route, one knows where to go.

However, if you prefer to do it differently (think thrice before doing this!) , you are supposed to document how to use the test cases and put this documentation into ⎕LX

AplAplStandards (last edited 2009-07-01 08:51:32 by KaiJaeger)