30 |
30 |
31 #include "cx/hash_key.h" |
31 #include "cx/hash_key.h" |
32 #include "cx/string.h" |
32 #include "cx/string.h" |
33 |
33 |
34 CX_TEST(test_hash_key_functions) { |
34 CX_TEST(test_hash_key_functions) { |
35 char const* str = "my key"; |
35 const char *str = "my key"; |
36 size_t len = strlen(str); |
36 size_t len = strlen(str); |
37 |
37 |
38 CxHashKey str_key = cx_hash_key_str(str); |
38 CxHashKey str_key = cx_hash_key_str(str); |
39 CxHashKey bytes_key = cx_hash_key_bytes((unsigned char const*)str, len); |
39 CxHashKey bytes_key = cx_hash_key_bytes((const unsigned char*)str, len); |
40 CxHashKey obj_key = cx_hash_key(str, len); |
40 CxHashKey obj_key = cx_hash_key(str, len); |
41 CxHashKey cxstr_key = cx_hash_key_cxstr(cx_str(str)); |
41 CxHashKey cxstr_key = cx_hash_key_cxstr(cx_str(str)); |
42 |
42 |
43 CX_TEST_DO { |
43 CX_TEST_DO { |
44 CX_TEST_ASSERT(str_key.hash == bytes_key.hash); |
44 CX_TEST_ASSERT(str_key.hash == bytes_key.hash); |
51 CX_TEST_ASSERT(str_key.data == str); |
51 CX_TEST_ASSERT(str_key.data == str); |
52 } |
52 } |
53 } |
53 } |
54 |
54 |
55 CX_TEST(test_hash_key_empty_string) { |
55 CX_TEST(test_hash_key_empty_string) { |
56 char const* str = ""; |
56 const char *str = ""; |
57 |
57 |
58 CxHashKey str_key = cx_hash_key_str(str); |
58 CxHashKey str_key = cx_hash_key_str(str); |
59 CxHashKey bytes_key = cx_hash_key_bytes((unsigned char const*) str, 0); |
59 CxHashKey bytes_key = cx_hash_key_bytes((const unsigned char*) str, 0); |
60 CxHashKey obj_key = cx_hash_key(str, 0); |
60 CxHashKey obj_key = cx_hash_key(str, 0); |
61 |
61 |
62 CX_TEST_DO { |
62 CX_TEST_DO { |
63 CX_TEST_ASSERT(bytes_key.hash == 4152238450u); |
63 CX_TEST_ASSERT(bytes_key.hash == 4152238450u); |
64 CX_TEST_ASSERT(str_key.hash == 4152238450u); |
64 CX_TEST_ASSERT(str_key.hash == 4152238450u); |