static void test_gba_cmp(void) { GByteArray *a = g_byte_array_new(); GByteArray *b = g_byte_array_new(); guint v = 0; for (register guint i=0; i<COUNT ;++i) { _dummy_gba(a, v++, 4); _dummy_gba(b, v++, 4); g_assert(0 != metautils_gba_cmp(a, b)); } for (register guint i=0; i<COUNT ;++i) { _dummy_gba(a, v++, 4); _dummy_gba(b, v++, 5); g_assert(0 != metautils_gba_cmp(a, b)); } for (register guint i=0; i<COUNT ;++i) { _dummy_gba(a, v, 4); _dummy_gba(b, v, 5); v++; g_assert(0 != metautils_gba_cmp(a, b)); } for (register guint i=0; i<COUNT ;++i) { _dummy_gba(a, v, 4); _dummy_gba(b, v, 4); v++; g_assert(0 == metautils_gba_cmp(a, b)); } for (register guint i=0; i<COUNT ;++i) { _dummy_gba(a, v, 4); v++; g_assert(0 == metautils_gba_cmp(a, a)); } g_byte_array_free(a, TRUE); g_byte_array_free(b, TRUE); }
/** * Compare two chunk hashes. * * @return TRUE if both hashes are equal, FALSE otherwise */ gboolean hash_equals(gconstpointer a, gconstpointer b) { int res = metautils_gba_cmp((GByteArray *)a, (GByteArray *)b); return (res == 0); }