One of the issues that frequently comes up is "how do I write a test about a behavior that the system is specified not to have?"  It's an interesting question given the nature of unit tests.  Let's examine it.

The things that you cannot do

Sometimes part of the specification of a system is to disallow certain actions to be taken on it.

The simplest example of this is an immutable