diff options
Diffstat (limited to 'runtime/tests/maps/is.c')
-rw-r--r-- | runtime/tests/maps/is.c | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/runtime/tests/maps/is.c b/runtime/tests/maps/is.c deleted file mode 100644 index 3008f702..00000000 --- a/runtime/tests/maps/is.c +++ /dev/null @@ -1,119 +0,0 @@ -#include "runtime.h" - -/* test of maps with keys of int64 and value of string */ -#define KEY1_TYPE INT64 -#define VALUE_TYPE STRING -#include "map-gen.c" - -#include "map.c" - -int main () -{ - MAP map = _stp_map_new_is(4); - map->wrap = 1; - - /* map[1] = one */ - _stp_map_set_is (map, 1, "one"); - - printf ("map[1]=%s\n", _stp_map_get_is(map,1)); - _stp_map_print(map,"map[%1d] = %s"); - - /* map[3] = "three" */ - _stp_map_set_is (map, 3, "three"); - _stp_map_print(map,"map[%1d] = %s"); - - /* now try to confuse things */ - /* These won't do anything useful, but shouldn't crash */ - _stp_map_set_is(0,1,"foobar"); - _stp_map_set_is(map,0,0); - _stp_map_set_is(map,100,0); - _stp_map_print(map,"map[%1d] = %s"); - - /* create and delete a key */ - _stp_map_set_is (map, 1024, "2048"); - _stp_map_set_is (map, 1024, 0); - _stp_map_print(map,"map[%1d] = %s"); - - /* create and delete a key again*/ - _stp_map_set_is (map, 1024, "2048"); - _stp_map_print(map,"map[%1d] = %s"); - _stp_map_set_is (map, 1024, 0); - _stp_map_print(map,"map[%1d] = %s"); - - - /* check that unset values are "" */ - if (*_stp_map_get_is(map, 5)) - printf("ERROR: unset key has nonempty value\n"); - - /* map[5] = "five" */ - _stp_map_set_is (map, 5, "five"); - _stp_map_print(map,"map[%1d] = %s"); - - /* test empty string (should delete)*/ - _stp_map_set_is (map, 5, ""); - _stp_map_print(map,"map[%1d] = %s"); - - - /* add 4 new entries, pushing the others out */ - int i; - for (i = 6; i < 10; i++) - { - char buf[32]; - sprintf(buf, "value of %d", i); - _stp_map_set_is (map, i, buf); - } - _stp_map_print(map,"map[%1d] = %s"); - - /* 5, 382, 526, and 903 all hash to the same value (23) */ - /* use them to test the hash chain */ - _stp_map_set_is (map, 5, "1005"); - _stp_map_set_is (map, 382, "1382"); - _stp_map_set_is (map, 526, "1526"); - _stp_map_set_is (map, 903, "1903"); - - _stp_map_print(map,"map[%1d] = %s"); - - /* now delete all 4 nodes, one by one */ - _stp_map_set_is (map, 382, 0); - _stp_map_print(map,"map[%1d] = %s"); - - _stp_map_set_is (map, 5, 0); - _stp_map_print(map,"map[%1d] = %s"); - - _stp_map_set_is (map, 903, 0); - _stp_map_print(map,"map[%1d] = %s"); - - _stp_map_set_is (map, 526, 0); - _stp_map_print(map,"map[%1d] = %s"); - - /* test overflow errors */ - map->wrap = 0; - for (i = 6; i < 10; i++) - { - char buf[32]; - sprintf(buf, "value of %d", i); - _stp_map_set_is (map, i, buf); - } - - for (i = 6; i < 10; i++) - { - char buf[32]; - int res; - sprintf(buf, "new value of %d", i); - res = _stp_map_set_is (map, i, buf); - if (res) - printf("WARNING: During wrap test, got result of %d when expected 0\n", res); - } - for (i = 16; i < 20; i++) - { - char buf[32]; - int res; - sprintf(buf, "BAD value of %d", i); - res = _stp_map_set_is (map, i, buf); - if (res != -1) - printf("WARNING: During wrap test, got result of %d when expected -1\n", res); - } - _stp_map_print(map,"map[%1d] = %s"); - _stp_map_del (map); - return 0; -} |