diff options
Diffstat (limited to 'runtime/tests/testlist.c')
-rw-r--r-- | runtime/tests/testlist.c | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/runtime/tests/testlist.c b/runtime/tests/testlist.c new file mode 100644 index 00000000..7086ff9b --- /dev/null +++ b/runtime/tests/testlist.c @@ -0,0 +1,63 @@ +#include "test.h" + +/* testliat.c - DO NOT EDIT without updating the expected results in map.test. */ + +/* + Tests maps acting as Lists +*/ + + + +static void +map_dump (MAP map) +{ + struct map_node_str *ptr; + foreach (map, ptr) + printf ("map[%ld] = %s\n", key1int(ptr), ptr->str); + printf ("\n"); +} + + +int main () +{ + char buf[32]; + int i; + MAP map = _stp_list_new(10, STRING); + + for (i = 0; i < 10; i++) + { + sprintf (buf, "Item%d", i); + _stp_list_add_str (map, buf); + } + + map_dump(map); + printf ("size is %d\n", _stp_list_size(map)); + + /* we set a limit of 10 elements so these push */ + /* the first entries out of the list */ + for (i = 50; i < 55; i++) + { + sprintf (buf, "Item%d", i); + _stp_list_add_str (map, buf); + } + + map_dump(map); + + for (i = 0; i < 10; i++) + { + sprintf (buf, "Item%d", i); + _stp_list_add_str (map, buf); + } + + map_dump(map); + _stp_list_clear (map); + map_dump(map); + for (i = 50; i < 55; i++) + { + sprintf (buf, "Item%d", i); + _stp_list_add_str (map, buf); + } + map_dump(map); + _stp_map_del (map); + return 0; +} |