diff options
Diffstat (limited to 'test.c')
-rw-r--r-- | test.c | 57 |
1 files changed, 57 insertions, 0 deletions
@@ -0,0 +1,57 @@ + +/** + * `test.c' - murmurhash + * + * copyright (c) 2014 joseph werle <joseph.werle@gmail.com> + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <inttypes.h> +#include <assert.h> +#include <murmurhash.h> + +int +main (void) { + uint32_t hash = 0; + uint32_t seed = 0; + +#define t(str, seed, expected) { \ + uint32_t len = (uint32_t) strlen(str); \ + hash = murmurhash(str, len, seed); \ + printf( \ + "['%s'] '%" PRIu32 "' = '%" PRIu32 "'", \ + str, (uint32_t) expected, hash); \ + assert((uint32_t) expected == hash); \ + printf(" ...ok\n"); \ +} + + seed = 0; + t("", seed, 0x00000000); + t("0", seed, 0xd271c07f); + t("01", seed, 0x61ec6600); + t("012", seed, 0xec6cff8c); + t("0123", seed, 0xd41994a0); + t("01234", seed, 0x19d02170); + t("2", seed, 0x0129e217); + t("88", seed, 0x7a0040a5); + + t("asdfqwer", seed, 0xa46b5209); + t("asdfqwerty", seed, 0xa3cfe04b); + t("asd", seed, 0x14570c6f); + + t("Hello", seed, 0x12da77c8); + t("Hello1", seed, 0x6357e0a6); + t("Hello2", seed, 0xe5ce223e); + + t("hey", seed, 0x12f94418); + t("dude", seed, 0xef0487f3); + t("test", seed, 0xba6bd213); + + + seed = 1; + t("", seed, 0x514e28b7); + + return 0; +} |