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