-#define ASSERT_EQUAL(expected, actual) _ASSERT((expected) == (actual), "%s == %s", #expected, #actual);
+/* This macro is meant for int-like things that can print with %d */
+#define ASSERT_EQUAL(expected, actual) _ASSERT((expected) == (actual), \
+ "%s == %s (expected %d, was %d)", \
+ #actual, #expected, expected, actual);
+#define ASSERT_NOT_EQUAL(unexpected, actual) _ASSERT((unexpected) != (actual), \
+ "%s != %s (expected not to be %d but was)", \
+ #actual, #unexpected, unexpected);