Add more test and replace MACRO by DEFINE