/** Test the Collection class **/ #include #include "Collection.h" int *ItemKey( int *item ) { return item; } int KeyLess( int *a, int *b ) { return ( *a < *b ) ; } void AddAll( Collection c, int *list, int n ) { int i; for(i=0;i=0;i--) { DeleteFromCollection( c, &list[i] ); if ( FindInCollection( c, &list[i] ) ) { printf("Delete failure item %d, value %d\n", i, list[i] ); } } } static int list1[] = { 2, 3, 45, 67, 89, 99 }; #define N1 (sizeof(list1)/sizeof(int)) static int list2[] = { 99, 98, 87, 65, 52, 48, 2, 1, 0 }; #define N2 (sizeof(list2)/sizeof(int)) void main() { Collection c; int cnt; c = ConsCollection( 100, sizeof( int ) ); AddAll( c, list1, N1 ); printf("Added %d items\n", N1 ); cnt = Check( c, list1, N1 ); printf("Checked %d inserted items, %d found\n", N1, cnt ); cnt = Check( c, list2, N2 ); printf("Checked %d list2 items, %d found\n", N2, cnt ); DeleteAll_1( c, list1, N1 ); printf("Deleted all items\n" ); AddAll( c, list2, N2 ); printf("Added %d items\n", N2 ); DeleteAll_2( c, list2, N2 ); printf("Deleted all items\n" ); }