caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] [ANN] Ocuality v0.8
@ 2012-10-22 21:22 Peter Groves
  0 siblings, 0 replies; only message in thread
From: Peter Groves @ 2012-10-22 21:22 UTC (permalink / raw)
  To: caml-list

[-- Attachment #1: Type: text/plain, Size: 1818 bytes --]

OCuality is an integrated logging, assertion, and unit testing library.

This is the first open source release after several years of development as
part of the designByRobots project.

The goal of Ocuality is to create a straightforward, yet minimal, way of
defining certain property's of an application's types so that assertions
don't require vast amounts of type-specific boilerplate to pack and unpack
data structures to run a compare() function against. Ocuality also tries to
remove problems that occur when unit testing libraries, built-in asserts
methods, and logging libraries do not work nicely together (such as java's
assert() method, junit library, and logging working against each other).

The key feature of Ocuality is the way assertions (via a module called
Verify) can be called from either application code or as part of a unit
test (via the TestCase module). When a Verify method fails or (optionally)
succeeds, an informative log message is generated. When a suite of unit
tests are run, the number of Verifications that succeed or fail are
summarized, as well as a detailed list of failing tests.

This approach to assertions requires a comparer ('a Comparer.t), which is
simply a toString() and compare() method for an abstract type ('a). The
Comparer module provides methods for composing higher order Comparer.t's
(e.g. create a ('a list Comparer.t) given a ('a Comparer.t))) which are
extremely powerful in creating simple yet complete assertions in unit tests.

Project Home and Readme:
https://github.com/pgroves/ocuality

Example Code (executable version of examples in the Readme):
https://github.com/pgroves/ocuality/blob/master/src/ReadmeExample.ml

Feedback and feature suggestions are welcome on the project's github issue
tracker:
https://github.com/pgroves/ocuality/issues

-Peter

[-- Attachment #2: Type: text/html, Size: 2344 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2012-10-22 21:22 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-22 21:22 [Caml-list] [ANN] Ocuality v0.8 Peter Groves

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).