■
#define _UT_ASSERT_EQUAL_INTTYPE(type, escseq, expect, actual, message) \ if ((expect) == (actual)) \ ← { \ _UT_ASSERT(TRUE, ""); \ } else { \ /* To ensure that expect and actual are evaluated exactly \ ← * once, assign to another variable. */ \ ← type _expect = (type)(expect); \ type _actual = (type)(actual); \ char buffer[ASSERT_MESSAGE_BUFFER_SIZE]; \ snprintf(buffer, \ ASSERT_MESSAGE_BUFFER_SIZE - 1, \ "%s\n expected: <" escseq ">\n but was: <" escseq ">", \ message, _expect, _actual); \ _UT_ASSERT(FALSE, buffer); \ }
orz 頼むでほんま…
あと comparator も parameterize した方が便利。