Penguin
Note: You are viewing an old revision of this page. View the current version.

Aym is a specification-based UnitTesting framework. It uses in-source comments consisting of a functional specification language implementation of an algorithm as an oracle against which to test the correctness of an implementation of said algorithm. This is being written by GianPerrone, AlastairPorter and SimonWare? as their project for COMP134? at WaikatoUniversity.

A Really Bad Example

Aym Specification
function sum(x) of type integer returning integer let sum(0) = 0 let sum(x) = x + sum(x-1)
C++ Implementation

int sum( int x ) {

int count = 0; for(int i = 0; i<x; i++) {

count += i;

} return count;

}

Notice that these two functions return completely different results! The idea is that the unit-testing portion of the project would catch this and inform you of the input, expected output and actual output.

Aym is GPLish. If you want a copy (why?), talk to GianPerrone or AlastairPorter.