From 303fc71ec31995f9f736785e97ec17459c17fcf1 Mon Sep 17 00:00:00 2001 From: Georg Hopp Date: Tue, 27 Oct 2015 14:21:54 +0100 Subject: [PATCH] Add testprogram for new iterable facility --- .gitignore | 1 + testers/Makefile | 6 ++++- testers/testiterator.c | 50 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 testers/testiterator.c diff --git a/.gitignore b/.gitignore index 6fcef4f..74d1681 100644 --- a/.gitignore +++ b/.gitignore @@ -43,4 +43,5 @@ tags /testers/testserver2 /testers/testtcp /testers/testudp +/testers/testiterator /testers/*.o diff --git a/testers/Makefile b/testers/Makefile index 1aa31fc..2ae3781 100755 --- a/testers/Makefile +++ b/testers/Makefile @@ -13,7 +13,8 @@ LIBS = $(TRLIBS) \ PROGRAMS = testserver2 \ testtcp \ - testudp + testudp \ + testiterator all: $(PROGRAMS) @@ -26,6 +27,9 @@ testtcp: testclient.o testudp: testclient.o $(CC) $(LDFLAGS) -std=c99 $(LIBS) -o $@ $< +testiterator: testiterator.o + $(CC) $(LDFLAGS) -std=c99 $(LIBS) -o $@ $< + testudp.o: testclient.c $(CC) $(CFLAGS) -DUDP=1 -std=c99 -c -o $@ $< diff --git a/testers/testiterator.c b/testers/testiterator.c new file mode 100644 index 0000000..397c0cf --- /dev/null +++ b/testers/testiterator.c @@ -0,0 +1,50 @@ +#include + +#include "trbase.h" +#include "trdata.h" + +int +main (int argc, char * argv[]) +{ + TR_List list = TR_new(TR_List); + TR_Queue queue = TR_new(TR_Queue); + + list->free_msgs = 0; + ((TR_List)queue)->free_msgs = 0; + + TR_listPut(list, "a"); + TR_listPut(list, "b"); + TR_listPut(list, "c"); + + TR_iterableForeach(list) { + printf("%s\n", (char *)TR_iterableCurrent(list)); + } + + TR_listGetFirst(list); + + TR_iterableForeach(list) { + printf("%s\n", (char *)TR_iterableCurrent(list)); + } + + TR_queuePut(queue, "1"); + TR_queuePut(queue, "2"); + TR_queuePut(queue, "3"); + + TR_iterableForeach(queue) { + printf("%s\n", (char *)TR_iterableCurrent(queue)); + } + + TR_queueGet(queue); + + TR_iterableForeach(queue) { + printf("%s\n", (char *)TR_iterableCurrent(queue)); + } + + TR_delete(list); + TR_delete(queue); + TR_cleanup(); + + return 0; +} + +// vim: set ts=4 sw=4: