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

Reply via email to