Enlightenment CVS committal Author : mej Project : eterm Module : libast
Dir : eterm/libast/test Modified Files: test.c Log Message: Wed Nov 19 17:39:01 2003 Michael Jennings (mej) Added linked_list and dlinked_list implementations of the vector interface. Added iterator functionality for linked_list and dlinked_list. Added unit tests for the above. =================================================================== RCS file: /cvsroot/enlightenment/eterm/libast/test/test.c,v retrieving revision 1.26 retrieving revision 1.27 diff -u -3 -r1.26 -r1.27 --- test.c 17 Jun 2003 00:44:09 -0000 1.26 +++ test.c 19 Nov 2003 22:39:57 -0000 1.27 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: test.c,v 1.26 2003/06/17 00:44:09 mej Exp $"; +static const char cvs_ident[] = "$Id: test.c,v 1.27 2003/11/19 22:39:57 mej Exp $"; #ifdef HAVE_CONFIG_H # include <config.h> @@ -820,6 +820,8 @@ spif_list_t testlist; spif_str_t s, s2; spif_obj_t *list_array; + spif_iterator_t it; + size_t j; for (i = 0; i < 3; i++) { if (i == 0) { @@ -956,6 +958,18 @@ spif_str_del(s); TEST_PASS(); + TEST_BEGIN("SPIF_LIST_ITERATOR() macro"); + for (j = 0, it = SPIF_LIST_ITERATOR(testlist); SPIF_ITERATOR_HAS_NEXT(it); j++) { + spif_str_t tmp; + + tmp = SPIF_CAST(str) SPIF_ITERATOR_NEXT(it); + TEST_FAIL_IF(SPIF_STR_ISNULL(tmp)); + } + TEST_FAIL_IF(j != 10); + TEST_FAIL_IF(SPIF_ITERATOR_HAS_NEXT(it)); + TEST_FAIL_IF(!SPIF_OBJ_ISNULL(SPIF_ITERATOR_NEXT(it))); + TEST_PASS(); + TEST_BEGIN("SPIF_LIST_REMOVE() macro"); s = spif_str_new_from_ptr("MOO"); s2 = SPIF_CAST(str) SPIF_LIST_REMOVE(testlist, s); @@ -1072,12 +1086,20 @@ spif_vector_t testvector; spif_str_t s, s2; spif_obj_t *vector_array; + spif_iterator_t it; + size_t j; - for (i = 0; i < 1; i++) { + for (i = 0; i < 3; i++) { if (i == 0) { + TEST_NOTICE("Testing vector interface class, linked_list instance:"); + testvector = SPIF_VECTOR_NEW(linked_list); + } else if (i == 1) { + TEST_NOTICE("Testing vector interface class, dlinked_list instance:"); + testvector = SPIF_VECTOR_NEW(dlinked_list); + } else if (i == 2) { TEST_NOTICE("Testing vector interface class, array instance:"); testvector = SPIF_VECTOR_NEW(array); - } else if (i == 1) { + } else if (i == 3) { } TEST_BEGIN("SPIF_VECTOR_INSERT() macro"); @@ -1139,6 +1161,18 @@ spif_str_init_from_ptr(s, "8"); TEST_FAIL_IF(!SPIF_STR_ISNULL(SPIF_STR(SPIF_VECTOR_FIND(testvector, s)))); spif_str_del(s); + TEST_PASS(); + + TEST_BEGIN("SPIF_VECTOR_ITERATOR() macro"); + for (j = 0, it = SPIF_VECTOR_ITERATOR(testvector); SPIF_ITERATOR_HAS_NEXT(it); j++) { + spif_str_t tmp; + + tmp = SPIF_CAST(str) SPIF_ITERATOR_NEXT(it); + TEST_FAIL_IF(SPIF_STR_ISNULL(tmp)); + } + TEST_FAIL_IF(j != 6); + TEST_FAIL_IF(SPIF_ITERATOR_HAS_NEXT(it)); + TEST_FAIL_IF(!SPIF_OBJ_ISNULL(SPIF_ITERATOR_NEXT(it))); TEST_PASS(); TEST_BEGIN("SPIF_VECTOR_REMOVE() macro"); ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs