On Sat, 14 Aug 2010 23:49:18 -0400, Jonathan M Davis <jmdavisp...@gmail.com> wrote:

Is there a standard and/or acceptable way to make sure that pre-conditions, post-conditions, or invariants _fail_ when running unit tests? That is, lets say
I had a function like this

void func(int x)
in
{
    assert(x < 8);
}
body
{
  //...
}


and I wanted to test to make sure that func() couldn't be called with any int
greater or equal to 8, what would I do?

Hm... unit testing your unit tests :)

input contracts and unit tests are supposed to be simple, provable code so you don't have to test them. The above function is obviously a simple example, you don't really need to unit test it (right?), so what would a complicated in contract look like?

It's also a good idea to avoid complex expressions in unit tests. If you have a complex expression, split it out into several lines to avoid having to work through the logic in your head. Performance/minimal LOC is not a goal you need in unit tests/contracts.

-Steve

Reply via email to