add macro function test