These preprocessor functions masqurading as integers have been an
old bugbear of the devs for some time.  Finally managed to start on
tackling it.

We should continue looking for repeated tests and groups of tests
and get them into preprocssor defines so they are are written once
this will help with the general code cleanup phase between the beta
relase and an eventual stable.