-void basic_test (CuTest* tc) {
-
- map_t *ht = map_alloc(map_type_);
-
- ASSERT_EQUAL( 0, map_count(ht) );
- ASSERT_EQUAL( DOES_NOT_EXIST, map_add(ht,"a",2,10) );
- ASSERT_EQUAL( 1, map_count(ht) );
- ASSERT_EQUAL( DOES_NOT_EXIST, map_add(ht,"b",2,20) );
- ASSERT_EQUAL( 2, map_count(ht) );
- ASSERT_EQUAL( 20, map_get(ht,"b",2) );
- ASSERT_EQUAL( 10, map_set(ht,"a",2,11) );
- ASSERT_EQUAL( 20, map_set(ht,"b",2,21) );
- ASSERT_EQUAL( 2, map_count(ht) );
- ASSERT_EQUAL( 21, map_add(ht,"b",2,22) );
- ASSERT_EQUAL( 11, map_remove(ht,"a",2) );
- ASSERT_EQUAL( DOES_NOT_EXIST, map_get(ht,"a",2) );
- ASSERT_EQUAL( 1, map_count(ht) );
- ASSERT_EQUAL( DOES_NOT_EXIST, map_remove(ht,"a",2) );
- ASSERT_EQUAL( 21, map_remove(ht,"b",2) );
- ASSERT_EQUAL( 0, map_count(ht) );
- ASSERT_EQUAL( DOES_NOT_EXIST, map_remove(ht,"b",2) );
- ASSERT_EQUAL( DOES_NOT_EXIST, map_remove(ht,"c",2) );
- ASSERT_EQUAL( 0, map_count(ht) );
+void simple (CuTest* tc) {
+
+#ifdef TEST_STRING_KEYS
+ map_t *map = map_alloc(map_type_, &DATATYPE_NSTRING);
+ nstring_t *k1 = ns_alloc(3); strcpy(k1->data, "k1");
+ nstring_t *k2 = ns_alloc(3); strcpy(k1->data, "k2");
+ nstring_t *k3 = ns_alloc(3); strcpy(k1->data, "k3");
+ nstring_t *k4 = ns_alloc(3); strcpy(k1->data, "k4");
+#else
+ map_t *map = map_alloc(map_type_, NULL);
+ void *k1 = (void *)1;
+ void *k2 = (void *)2;
+ void *k3 = (void *)3;
+ void *k4 = (void *)4;
+#endif
+
+ ASSERT_EQUAL( 0, map_count (map) );
+ ASSERT_EQUAL( DOES_NOT_EXIST, map_add (map, k1,10) );
+ ASSERT_EQUAL( 1, map_count (map) );
+ ASSERT_EQUAL( DOES_NOT_EXIST, map_add (map, k2,20) );
+ ASSERT_EQUAL( 2, map_count (map) );
+ ASSERT_EQUAL( 20, map_get (map, k2) );
+ ASSERT_EQUAL( 10, map_set (map, k1,11) );
+ ASSERT_EQUAL( 20, map_set (map, k2,21) );
+ ASSERT_EQUAL( 2, map_count (map) );
+ ASSERT_EQUAL( 21, map_add (map, k2,22) );
+ ASSERT_EQUAL( 11, map_remove (map, k1) );
+ ASSERT_EQUAL( DOES_NOT_EXIST, map_get (map, k1) );
+ ASSERT_EQUAL( 1, map_count (map) );
+ ASSERT_EQUAL( DOES_NOT_EXIST, map_remove (map, k1) );
+ ASSERT_EQUAL( 21, map_remove (map, k2) );
+ ASSERT_EQUAL( 0, map_count (map) );
+ ASSERT_EQUAL( DOES_NOT_EXIST, map_remove (map, k2) );
+ ASSERT_EQUAL( DOES_NOT_EXIST, map_remove (map, k3) );
+ ASSERT_EQUAL( 0, map_count (map) );