Tuesday, May 2, 2006

Archived News: 2006-05

2006-05 13:

We present a complete rewrite of Mercury's

qcheck2 (the sample
unit test module (peano_unit_tests)
requires the peano
module in order to run). The essence of testing
à la qcheck --
type discernment to obtain (random) test values
with a test specification language -- remains
unchanged. The new features of this new version
enhance the system with:

  1. complete control over what is reported and
    when it is reported;

  2. dynamic control over ranges of random
    number-like values (ints,
    floats and chars) as
    well as the random number generator type itself;

  3. and for the code-hacker: qcheck2
    is broken up into separate modules along
    functional lines

The documentation for qcheck (upon
which qcheck2 is built) is a model
for any system to follow; so, documentation, to
include a system description and transition guide,
for qcheck2 is under development.

Update 2006-05-20:

As the test description
(Description) may now be of any
type -- even non-comparable types, such as,
for example, function types -- using a map
with Description keys is will cause
errors when using Description types
that cannot be compared. As such, the
qstate now uses an
assoc_list to accumulate the test

Update 2006-05-21:

Added information to the summary
report: this report now shows which predicates
were not tested. The work-in-progress
now covers the reporting facility comprehensively.


(Logical Types Quicksilver compiler) now comes
with qcpt (QuickCheck Predicate
Types), a system that discerns the interface
predicates and functions of a system (to
facilitate comprehensive unit testing). Perhaps
even more important is the inclusion of a README
that doubles as a HOWTO and INSTALL document.


Completed the document describing an implementation
of mutable syntax for Mercury. This article in
available in the literature section (see above).