#include struct MyNegative { bool operator()(const int &i) const { return i < 0; } }; template struct MyLess { bool operator()(const T &x, const T &y) const { return x < y; } }; class Relation : public CxxTest::TestSuite { public: void testPredicate() { TS_ASSERT_PREDICATE(MyNegative, 1); TSM_ASSERT_PREDICATE("1 , 2, 1); TSM_ASSERT_RELATION("2 , 2, 1); try { ETS_ASSERT_RELATION(MyLess, throwInt(1), throwInt(1)); } catch (int i) { TS_WARN(i); } try { ETSM_ASSERT_RELATION("2 , throwInt(1), throwInt(1)); } catch (int i) { TS_WARN(i); } } int throwInt(int i) { throw i; } };