testing syntax Per Bothner (19 Mar 2005 22:55 UTC)
Re: testing syntax Donovan Kolbly (21 Mar 2005 14:44 UTC)
Re: testing syntax Alex Shinn (18 Aug 2005 14:29 UTC)

Re: testing syntax Alex Shinn 18 Aug 2005 14:28 UTC

At Sat, 19 Mar 2005 14:55:23 -0800, Per Bothner wrote:
>
> Any preferences for or against these changes?
>
> (1) Move optional test-name to the end of the argument list?

Against.

> (2) Move the "expected value" argument *before* the "expression to
> evaluate" argument.  E.g. instead of:
>    (test-eqv test-expr expected)
> we'd use:
>    (test-eqv expected test-expr)
[...]
> Aubrey argued for this change.  It turns out JUnit also has the
> "expected" value as the first operand.

Gauche also puts the expected value first.

> (3) We need some routines for testing inexact numbers.
> I suggested earlier:
>
> (test-approximate [test-name] test-expression expected [error])
> where is a relative error which defaults to 0.001.  Equivalent to:
>    (test-assert (and (>= result (- expected (* expected error))
>                      (>= result (+ expected (* expected error)))))

[I think you meant <= for the second >=.]

How can both the name and error be optional in the above syntax?
Perhaps it would be easier to use a global parameter (or possibly
associated per group or test suite) for the relative error.

A good default is hard to choose.  SRFI-56 uses 0.00001 for its
inexact tests and several Schemes manage to pass, but it isn't
compounding a large number of inexact operations as you'd find in some
algorithms.

--
Alex