Provides a library of matcher objects (also known as constraints or predicates) allowing 'match' rules to be defined declaratively, to be used in other frameworks. Typical scenarios include testing frameworks, mocking libraries and UI validation rules.
Hamcrest has been ported to Java, C++, Objective-C, Python and PhP.
Note: Hamcrest it is not a testing library: it just happens that matchers are very useful for testing.