Orthodoxy
Orthodoxy checking is checking whether the copy constructor, operator=, operator== and operator!= work as expected. This is done by creating an array of objects of the class for which you want to check this, that are all different, and use the Rich Boolean UquoniTest::TestOrthodoxy on the array
uqtTEST(Orthodoxy) { MyClass objs[3]; objs[0].SetA(1); objs[0].SetB(1); objs[1].SetA(2); objs[1].SetB(1); objs[2].SetA(1); objs[2].SetB(2); uqtASSERT(rbIN_ARRAY(objs, UquoniTest::TestOrthodoxy<>())); }
You can do the same for operator< with UquoniTest::TestOperatorLess, or for all relational operators with UquoniTest::TestRelationalOperators.