I think that there are some cases when multiple assertions are needed (e.g. [Guard Assertion][1]), but in general I try to avoid this. What is your opinion? Please provide a real word examples when multiple asserts are really *needed.* Thanks!

**Edit**

In the comment to [this great post][2] Roy Osherove pointed to the [OAPT][3] project that is designed to run each assert in a single test. 

This is written on projects home page:

> **Proper unit tests should fail for
> exactly one reason,** that’s why you
> should be using one assert per unit
> test.

And also Roy wrote in comments:

> My guideline is usually that you test
> one logical CONCEPT per test. you can
> have multiple asserts on the same
> *object*. they will usually be the same concept being tested.


 [1]: http://xunitpatterns.com/Guard%20Assertion.html
 [2]: http://www.owenpellegrin.com/blog/testing/how-do-you-solve-multiple-asserts/
 [3]: http://rauchy.net/oapt/