To which unit tests should a class be submitted to guarantee it has all the properties required by the C++ safe-bool idiom?
Trying to name all of them (extracted from The Safe Bool Idiom), for an instance test
of a class Test
which supposedly implements the safe-bool idiom, it should enable the following constructs:
if (test) { /* test is valid */ }
if (!test) { /* test is not valid */ }
...and disallow the following constructs:
test << 1;
int i = test;
delete test;
if (test1 == test2) {}
if (test != test2) {}