RemObjects C# has support for Class Contracts, allowing you to provide Pre- and Post-Conditions for methods and type-wide Invariants to create classes and structs that can test themselves.
Please refer to the Class Contracts topic for more details.
- Class Contracts topic in Concepts Section
- Invariants and Pre- and Post-Conditions, and the
impliesOperators in Oxygene