Webmozart Assert
Assertions to validate method input/output with nice error messages
...With these assertions, you can greatly reduce the amount of coding needed to write a safe implementation. This library is heavily inspired by Benjamin Eberlei's wonderful assert package, but fixes a usability issue with error messages that can't be fixed there without breaking backwards compatibility. This package features usable error messages by default. However, you can also easily write custom error messages. In beberlei/assert, the ordering of the %s placeholders is different for every assertion. This package, on the contrary, provides consistent placeholder ordering for all assertions. ...