add tests for macro primitives;