Index: /trunk/psLib/test/collections/Makefile
===================================================================
--- /trunk/psLib/test/collections/Makefile	(revision 576)
+++ /trunk/psLib/test/collections/Makefile	(revision 576)
@@ -0,0 +1,67 @@
+################################################################################
+##
+##  Makefile:   test/collections
+##
+##  $Revision: 1.1 $  $Name: not supported by cvs2svn $
+##  $Date: 2004-05-05 20:39:09 $
+##
+##  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+##
+###############################################################################
+
+include ../../src/Makefile.Globals
+
+PSLIB_INCL_DIR = ../../include
+
+PSLIB_LIB_DIR = ../../lib
+
+TARGET = tst_psArray_01  \
+         tst_psArray_02  \
+         tst_psArray_03  \
+         tst_psArray_04  \
+         tst_psArray_05  \
+         tst_psArray_06  \
+         tst_psBitSet_01 \
+         tst_psBitSet_02 \
+         tst_psBitSet_03 \
+         tst_psBitSet_04 \
+         tst_psBitSet_05 \
+         tst_psBitSet_06 \
+         tst_psSort_01   \
+         tst_psSort_02   \
+         tst_psSort_03   \
+         tst_psSort_04
+
+all: $(TARGET)
+
+tst_psArray_01: tst_psArray_01.o
+tst_psArray_02: tst_psArray_02.o
+tst_psArray_03: tst_psArray_03.o
+tst_psArray_04: tst_psArray_04.o
+tst_psArray_05: tst_psArray_05.o
+tst_psArray_06: tst_psArray_06.o
+tst_psBitSet_01: tst_psBitSet_01.o
+tst_psBitSet_02: tst_psBitSet_02.o
+tst_psBitSet_03: tst_psBitSet_03.o
+tst_psBitSet_04: tst_psBitSet_04.o
+tst_psBitSet_05: tst_psBitSet_05.o
+tst_psBitSet_06: tst_psBitSet_06.o
+tst_psSort_01: tst_psSort_01.o
+tst_psSort_02: tst_psSort_02.o
+tst_psSort_03: tst_psSort_03.o
+tst_psSort_04: tst_psSort_04.o
+
+clean:
+	@echo "    Deleting executable and binary files for 'test/collections'"
+	$(RM) $(TARGET) *.o *.lint
+
+%.o : %.c
+	$(CC) $(CFLAGS) $(CPPFLAGS) -I$(PSLIB_INCL_DIR) -c -o $@ $< 
+
+%   : %.o
+	$(CC) $(LDFLAGS) -L$(PSLIB_LIB_DIR) -lpsCollections -lpslib -lpstest -lm -o $@ $<
+
+%.lint: %.c
+	splint +posixlib -exportlocal -realcompare $(INCLUDE_GLOBAL) $? > $@; cat $@
+
+
Index: /trunk/psLib/test/collections/UnitTest
===================================================================
--- /trunk/psLib/test/collections/UnitTest	(revision 576)
+++ /trunk/psLib/test/collections/UnitTest	(revision 576)
@@ -0,0 +1,16 @@
+tst_psArray_01
+tst_psArray_02
+tst_psArray_03
+tst_psArray_04
+tst_psArray_05
+tst_psArray_06
+tst_psBitSet_01
+tst_psBitSet_02
+tst_psBitSet_03
+tst_psBitSet_04
+tst_psBitSet_05
+tst_psBitSet_06
+tst_psSort_01
+tst_psSort_02
+tst_psSort_03
+tst_psSort_04
Index: /trunk/psLib/test/collections/tst_psArray_01.c
===================================================================
--- /trunk/psLib/test/collections/tst_psArray_01.c	(revision 576)
+++ /trunk/psLib/test/collections/tst_psArray_01.c	(revision 576)
@@ -0,0 +1,73 @@
+/** @file  tst_psArray_01.c
+ *
+ *  @brief Test driver for psArray integer functions
+ *
+ *  This test driver contains the following tests for psArray test point 1:
+ *     A)  Create integer array
+ *     B)  Add data to integer array
+ *     C)  Reallocate integer array bigger
+ *     D)  Reallocate integer array smaller
+ *     E)  Free integer array
+ *
+ *  @author  Ross Harman, MHPCC
+ *
+ *  @version $Revision: 1.1 $  $Name: not supported by cvs2svn $
+ *  @date  $Date: 2004-05-05 20:39:09 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ *
+ */
+
+#include "psLib.h"
+#include "psTest.h"
+
+int main(int argc,
+         char* argv[])
+{
+
+    // Test A - Create integer array
+    printPositiveTestHeader(stdout,"psArray", "Create integer array");
+    psArray *psArr = psIntArrayAlloc(5);
+    printf("Array size = %d\n", psArr->nalloc);
+    printFooter(stdout, "psArray", "Create integer array", true);
+
+
+    // Test B - Add data to integer array
+    printPositiveTestHeader(stdout, "psArray", "Add data to integer array");
+    for(int i = 0; i < 5; i++) {
+        psArr->arr.intArr[i] = i*10;
+        printf("Elem %d = %d\n", i, psArr->arr.intArr[i]);
+    }
+    printFooter(stdout, "psArray", "Add data to integer array", true);
+
+
+    // Test C - Reallocate integer array bigger
+    printPositiveTestHeader(stdout,"psArray", "Reallocate integer array bigger");
+    psArr = psIntArrayRealloc(psArr, 10);
+    printf("Array size = %d\n", psArr->nalloc);
+    printf("\nAdding more elements to integer array...\n");
+    for(int i = 5; i < 10; i++) {
+        psArr->arr.intArr[i] = i*10;
+        printf("Elem %d = %d\n", i, psArr->arr.intArr[i]);
+    }
+    printFooter(stdout, "psArray", "Reallocate integer array bigger", true);
+
+
+    // Test D - Reallocate integer array smaller
+    printPositiveTestHeader(stdout,"psArray","Reallocate integer array smaller");
+    psArr = psIntArrayRealloc(psArr, 3);
+    printf("Array size = %d\n", psArr->nalloc);
+    for(int i = 0; i < 3; i++) {
+        printf("Elem %d = %d\n", i, psArr->arr.intArr[i]);
+    }
+    printFooter(stdout, "psArray", "Reallocate integer array smaller", true);
+
+
+    // Test E - Free integer array
+    printPositiveTestHeader(stdout, "psArray", "Free integer array");
+    psIntArrayFree(psArr);
+    psMemCheckLeaks(0, NULL, stdout);
+    printFooter(stdout, "psArray" ,"Free integer array", true);
+
+    return 0;
+}
Index: /trunk/psLib/test/collections/tst_psArray_02.c
===================================================================
--- /trunk/psLib/test/collections/tst_psArray_02.c	(revision 576)
+++ /trunk/psLib/test/collections/tst_psArray_02.c	(revision 576)
@@ -0,0 +1,75 @@
+/** @file  tst_psArray_02.c
+ *
+ *  @brief Test driver for psArray float functions
+ *
+ *  This test driver contains the following tests for psArray test point 2:
+ *     A)  Create float array
+ *     B)  Add data to float array
+ *     C)  Reallocate float array bigger
+ *     D)  Reallocate float array smaller
+ *     E)  Free float array
+ *
+ *  @author  Ross Harman, MHPCC
+ *
+ *  @version $Revision: 1.1 $  $Name: not supported by cvs2svn $
+ *  @date  $Date: 2004-05-05 20:39:09 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ *
+ */
+
+#include <stdio.h>
+#include "psLib.h"
+#include "psTest.h"
+
+int main(int argc,
+         char* argv[])
+{
+
+    // Test A - Create float array
+    printPositiveTestHeader(stdout,"psArray","Create float array");
+    psArray *psArr = psFloatArrayAlloc(5);
+    printf("Array size = %d\n", psArr->nalloc);
+    printFooter(stdout, "psArray","Create float array",true);
+
+
+    // Test B - Add data to float array
+    printPositiveTestHeader(stdout,"psArray","Add data to float array");
+    for(int i = 0; i < 5; i++) {
+        psArr->arr.fltArr[i] = i*10.1f;
+        printf("Elem %d = %.2f\n", i, psArr->arr.fltArr[i]);
+    }
+    printFooter(stdout, "psArray","Add data to float array",true);
+
+
+    // Test C - Reallocate float array bigger
+    printPositiveTestHeader(stdout,"psArray","Reallocate float array bigger");
+    psArr = psFloatArrayRealloc(psArr, 10);
+    printf("Array size = %d\n", psArr->nalloc);
+
+    printf("\nAdding more elements to float array...\n");
+    for(int i = 5; i < 10; i++) {
+        psArr->arr.fltArr[i] = i*10.1f;
+        printf("Elem %d = %.2f\n", i, psArr->arr.fltArr[i]);
+    }
+    printFooter(stdout, "psArray","Reallocate float array bigger",true);
+
+
+    // Test D - Reallocate float array smaller
+    printPositiveTestHeader(stdout,"psArray","Reallocate float array smaller");
+    psArr = psFloatArrayRealloc(psArr, 3);
+    printf("Array size = %d\n", psArr->nalloc);
+    for(int i = 0; i < 3; i++) {
+        printf("Elem %d = %.2f\n", i, psArr->arr.fltArr[i]);
+    }
+    printFooter(stdout, "psArray","Reallocate float array smaller",true);
+
+
+    // Test E - Free float array
+    printPositiveTestHeader(stdout,"psArray","Free float array");
+    psFloatArrayFree(psArr);
+    psMemCheckLeaks(0, NULL, stdout);
+    printFooter(stdout, "psArray","Free float array",true);
+
+    return 0;
+}
Index: /trunk/psLib/test/collections/tst_psArray_03.c
===================================================================
--- /trunk/psLib/test/collections/tst_psArray_03.c	(revision 576)
+++ /trunk/psLib/test/collections/tst_psArray_03.c	(revision 576)
@@ -0,0 +1,74 @@
+/** @file  tst_psArray_03.c
+ *
+ *  @brief Test driver for psArray double functions
+ *
+ *  This test driver contains the following tests for psArray test point 3:
+ *     A)  Create double array
+ *     B)  Add data to double array
+ *     C)  Reallocate double array bigger
+ *     D)  Reallocate double array smaller
+ *     E)  Free double array
+ *
+ *  @author  Ross Harman, MHPCC
+ *
+ *  @version $Revision: 1.1 $  $Name: not supported by cvs2svn $
+ *  @date  $Date: 2004-05-05 20:39:09 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ *
+ */
+
+#include <stdio.h>
+#include "psLib.h"
+#include "psTest.h"
+
+int main(int argc,
+         char* argv[])
+{
+
+    // Test A - Create double array
+    printPositiveTestHeader(stdout,"psArray","Create double array");
+    psArray *psArr = psDoubleArrayAlloc(5);
+    printf("Array size = %d\n", psArr->nalloc);
+    printFooter(stdout, "psArray","Create double array",true);
+
+
+    // Test B - Add data to double array
+    printPositiveTestHeader(stdout,"psArray","Add data to double array");
+    for(int i = 0; i < 5; i++) {
+        psArr->arr.dblArr[i] = i*10.1;
+        printf("Elem %d = %.2f\n", i, psArr->arr.dblArr[i]);
+    }
+    printFooter(stdout, "psArray","Add data to double array",true);
+
+
+    // Test C - Reallocate double array bigger
+    printPositiveTestHeader(stdout,"psArray","Reallocate double array bigger");
+    psArr = psDoubleArrayRealloc(psArr, 10);
+    printf("Array size = %d\n", psArr->nalloc);
+    printf("\nAdding more elements to double array...\n");
+    for(int i = 5; i < 10; i++) {
+        psArr->arr.dblArr[i] = i*10.1;
+        printf("Elem %d = %.2f\n", i, psArr->arr.dblArr[i]);
+    }
+    printFooter(stdout, "psArray","Reallocate double array bigger",true);
+
+
+    // Test D - Reallocate double array smaller
+    printPositiveTestHeader(stdout,"psArray","Reallocate double array smaller");
+    psArr = psDoubleArrayRealloc(psArr, 3);
+    printf("Array size = %d\n", psArr->nalloc);
+    for(int i = 0; i < 3; i++) {
+        printf("Elem %d = %.2f\n", i, psArr->arr.dblArr[i]);
+    }
+    printFooter(stdout, "psArray","Reallocate double array smaller",true);
+
+
+    // Test E - Free double array
+    printPositiveTestHeader(stdout,"psArray","Free double array");
+    psDoubleArrayFree(psArr);
+    psMemCheckLeaks(0, NULL, stdout);
+    printFooter(stdout, "psArray","Free double array",true);
+
+    return 0;
+}
Index: /trunk/psLib/test/collections/tst_psArray_04.c
===================================================================
--- /trunk/psLib/test/collections/tst_psArray_04.c	(revision 576)
+++ /trunk/psLib/test/collections/tst_psArray_04.c	(revision 576)
@@ -0,0 +1,74 @@
+/** @file  tst_psArray_04.c
+ *
+ *  @brief Test driver for psArray complex functions
+ *
+ *  This test driver contains the following tests for psArray test point 4:
+ *     A)  Create complex array
+ *     B)  Add data to complex array
+ *     C)  Reallocate complex array bigger
+ *     D)  Reallocate complex array smaller
+ *     E)  Free complex array
+ *
+ *  @author  Ross Harman, MHPCC
+ *
+ *  @version $Revision: 1.1 $  $Name: not supported by cvs2svn $
+ *  @date  $Date: 2004-05-05 20:39:09 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ *
+ */
+
+#include <stdio.h>
+#include "psLib.h"
+#include "psTest.h"
+
+int main(int argc,
+         char* argv[])
+{
+
+    // Test A - Create complex array
+    printPositiveTestHeader(stdout,"psArray","Create complex array");
+    psArray *psArr = psComplexArrayAlloc(5);
+    printf("Array size = %d\n", psArr->nalloc);
+    printFooter(stdout, "psArray","Create complex array",true);
+
+
+    // Test B - Add data to complex array
+    printPositiveTestHeader(stdout,"psArray","Add data to complex array");
+    for(int i = 0; i < 5; i++) {
+        psArr->arr.cFltArr[i] = 10.1f*i+10.1f*i*I;
+        printf("Elem %d = %.2f+%.2fi\n", i, crealf(psArr->arr.cFltArr[i]), cimagf(psArr->arr.cFltArr[i]));
+    }
+    printFooter(stdout, "psArray","Add data to complex array",true);
+
+
+    // Test C - Reallocate complex array bigger
+    printPositiveTestHeader(stdout,"psArray","Reallocate complex array bigger");
+    psArr = psComplexArrayRealloc(psArr, 10);
+    printf("Array size = %d\n", psArr->nalloc);
+    printf("\nAdding more elements to complex array...\n");
+    for(int i = 5; i < 10; i++) {
+        psArr->arr.cFltArr[i] = 10.1f*i+10.1f*i*I;
+        printf("Elem %d = %.2f+%.2fi\n", i, crealf(psArr->arr.cFltArr[i]), cimagf(psArr->arr.cFltArr[i]));
+    }
+    printFooter(stdout, "psArray","Reallocate complex array bigger",true);
+
+
+    // Test D - Reallocate complex array smaller
+    printPositiveTestHeader(stdout,"psArray","Reallocate complex array smaller");
+    psArr = psComplexArrayRealloc(psArr, 3);
+    printf("Array size = %d\n", psArr->nalloc);
+    for(int i = 0; i < 3; i++) {
+        printf("Elem %d = %.2f+%.2fi\n", i, crealf(psArr->arr.cFltArr[i]), cimagf(psArr->arr.cFltArr[i]));
+    }
+    printFooter(stdout, "psArray","Reallocate complex array smaller",true);
+
+
+    // Test E - Free complex array
+    printPositiveTestHeader(stdout,"psArray","Free complex array");
+    psComplexArrayFree(psArr);
+    psMemCheckLeaks(0, NULL, stdout);
+    printFooter(stdout, "psArray","Free complex array",true);
+
+    return 0;
+}
Index: /trunk/psLib/test/collections/tst_psArray_05.c
===================================================================
--- /trunk/psLib/test/collections/tst_psArray_05.c	(revision 576)
+++ /trunk/psLib/test/collections/tst_psArray_05.c	(revision 576)
@@ -0,0 +1,107 @@
+/** @file  tst_psArray_05.c
+ *
+ *  @brief Test driver for psArray complex functions
+ *
+ *  This test driver contains the following tests for psArray test point 5:
+ *     A)  Create void pointer array
+ *     B)  Add data to void pointer array
+ *     C)  Reallocate void pointer array bigger
+ *     D)  Reallocate void pointer array smaller
+ *     E)  Free void pointer array
+ *
+ *  @author  Ross Harman, MHPCC
+ *
+ *  @version $Revision: 1.1 $  $Name: not supported by cvs2svn $
+ *  @date  $Date: 2004-05-05 20:39:09 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ *
+ */
+
+#include <stdio.h>
+#include "psLib.h"
+#include "psTest.h"
+
+typedef struct
+{
+    int x;
+    float y;
+}
+testStruct;
+
+
+int main(int argc,
+         char* argv[])
+{
+    // Create array of pointers
+    testStruct *mySt[10];
+
+
+    // Test A - Create void pointer array
+    printPositiveTestHeader(stdout,"psArray", "Create void pointer array");
+    psArray *psArr = psVoidPtrArrayAlloc(5);
+    printf("Array size = %d\n", psArr->nalloc);
+    psArr->n = 5;
+    printFooter(stdout, "psArray", "Create void pointer array", true);
+
+
+    // Test B - Add data to void pointer array
+    printPositiveTestHeader(stdout, "psArray", "Add data to void pointer array");
+    for(int i = 0; i < 5; i++) {
+        testStruct *ts = psAlloc(sizeof(testStruct));
+        ts->x = 10*i;
+        ts->y = 10.1*i;
+        mySt[i] = ts;
+        psArr->arr.ptrArr[i] = ts;
+        psMemIncrRefCounter(ts);
+    }
+
+    for(int i = 0; i < 5; i++) {
+        testStruct *ts = psArr->arr.ptrArr[i];
+        printf("ts[%d].x = %d ts[%d].y = %.2f\n", i, ts->x, i, ts->y);
+    }
+    printFooter(stdout, "psArray", "Add data to void pointer array", true);
+
+
+    // Test C - Reallocate void pointer array bigger
+    printPositiveTestHeader(stdout,"psArray","Reallocate void pointer array bigger");
+    psArr = psVoidPtrArrayRealloc(psArr, 10);
+    psArr->n=10;
+    printf("Array size = %d\n", psArr->nalloc);
+    for(int i = 5; i < 10; i++) {
+        testStruct *ts = psAlloc(sizeof(testStruct));
+        ts->x = 10*i;
+        ts->y = 10.1*i;
+        mySt[i] = ts;
+        psArr->arr.ptrArr[i] = ts;
+        psMemIncrRefCounter(ts);
+    }
+    for(int i = 0; i < 10; i++) {
+        testStruct *ts = psArr->arr.ptrArr[i];
+        printf("ts[%d].x = %d ts[%d].y = %.2f\n", i, ts->x, i, ts->y);
+    }
+    printFooter(stdout, "psArray", "Reallocate void pointer array bigger", true);
+
+
+    // Test D - Reallocate void pointer array smaller
+    printPositiveTestHeader(stdout, "psArray", "Reallocate void pointer array smaller");
+    psArr = psVoidPtrArrayRealloc(psArr, 3);
+    printf("Array size = %d\n", psArr->nalloc);
+    for(int i = 0; i < 3; i++) {
+        testStruct *ts = psArr->arr.ptrArr[i];
+        printf("ts[%d].x = %d ts[%d].y = %.2f\n", i, ts->x, i, ts->y);
+    }
+    printFooter(stdout, "psArray", "Reallocate void pointer array smaller",true);
+
+
+    // Test E - Free void pointer array
+    printPositiveTestHeader(stdout, "psArray", "Free void pointer array");
+    psVoidPtrArrayFree(psArr, NULL);
+    for(int i = 0; i < 10; i++) {
+        psFree(mySt[i]);
+    }
+    psMemCheckLeaks(0, NULL, stdout);
+    printFooter(stdout, "psArray", "Free void pointer array", true);
+
+    return 0;
+}
Index: /trunk/psLib/test/collections/tst_psArray_06.c
===================================================================
--- /trunk/psLib/test/collections/tst_psArray_06.c	(revision 576)
+++ /trunk/psLib/test/collections/tst_psArray_06.c	(revision 576)
@@ -0,0 +1,116 @@
+/** @file  tst_psArray_05.c
+ *
+ *  @brief Test driver for psArray complex functions
+ *
+ *  This test driver contains the following tests for psArray test point 5:
+ *     A)  Create void pointer array
+ *     B)  Add data to void pointer array
+ *     C)  Reallocate void pointer array bigger
+ *     D)  Reallocate void pointer array smaller
+ *     E)  Free void pointer array with function callback
+ *
+ *  @author  Ross Harman, MHPCC
+ *
+ *  @version $Revision: 1.1 $  $Name: not supported by cvs2svn $
+ *  @date  $Date: 2004-05-05 20:39:09 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ *
+ */
+
+#include <stdio.h>
+#include "psLib.h"
+#include "psTest.h"
+
+typedef struct
+{
+    int x;
+    float y;
+}
+testStruct;
+
+
+static void freeData(void *data)
+{
+    psFree(data);
+}
+
+int main(int argc,
+         char* argv[])
+{
+    // Create array of pointers
+    testStruct *mySt[10];
+
+
+    // Test A - Create void pointer array
+    printPositiveTestHeader(stdout,"psArray", "Create void pointer array");
+    psArray *psArr = psVoidPtrArrayAlloc(5);
+    printf("Array size = %d\n", psArr->nalloc);
+    psArr->n = 5;
+    printFooter(stdout, "psArray", "Create void pointer array", true);
+
+
+    // Test B - Add data to void pointer array
+    printPositiveTestHeader(stdout, "psArray", "Add data to void pointer array");
+    for(int i = 0; i < 5; i++) {
+        testStruct *ts = psAlloc(sizeof(testStruct));
+        ts->x = 10*i;
+        ts->y = 10.1*i;
+        mySt[i] = ts;
+        psArr->arr.ptrArr[i] = ts;
+        psMemIncrRefCounter(ts);
+    }
+
+    for(int i = 0; i < 5; i++) {
+        testStruct *ts = psArr->arr.ptrArr[i];
+        printf("ts[%d].x = %d ts[%d].y = %.2f\n", i, ts->x, i, ts->y);
+    }
+    printFooter(stdout, "psArray", "Add data to void pointer array", true);
+
+
+    // Test C - Reallocate void pointer array bigger
+    printPositiveTestHeader(stdout,"psArray","Reallocate void pointer array bigger");
+    psArr = psVoidPtrArrayRealloc(psArr, 10);
+    psArr->n=10;
+    printf("Array size = %d\n", psArr->nalloc);
+    for(int i = 5; i < 10; i++) {
+        testStruct *ts = psAlloc(sizeof(testStruct));
+        ts->x = 10*i;
+        ts->y = 10.1*i;
+        mySt[i] = ts;
+        psArr->arr.ptrArr[i] = ts;
+        psMemIncrRefCounter(ts);
+    }
+    for(int i = 0; i < 10; i++) {
+        testStruct *ts = psArr->arr.ptrArr[i];
+        printf("ts[%d].x = %d ts[%d].y = %.2f\n", i, ts->x, i, ts->y);
+    }
+    printFooter(stdout, "psArray", "Reallocate void pointer array bigger", true);
+
+
+    // Test D - Reallocate void pointer array smaller
+    printPositiveTestHeader(stdout, "psArray", "Reallocate void pointer array smaller");
+    psArr = psVoidPtrArrayRealloc(psArr, 3);
+    printf("Array size = %d\n", psArr->nalloc);
+    for(int i = 0; i < 3; i++) {
+        testStruct *ts = psArr->arr.ptrArr[i];
+        printf("ts[%d].x = %d ts[%d].y = %.2f\n", i, ts->x, i, ts->y);
+    }
+    printFooter(stdout, "psArray", "Reallocate void pointer array smaller",true);
+
+
+    // Test E - Free void pointer array
+    printPositiveTestHeader(stdout, "psArray", "Free void pointer array with function callback");
+
+    // Free void pointer array struct and its 3 internal elements
+    psVoidPtrArrayFree(psArr, freeData);
+
+    // Free 7 elements manually that were lost after array was reallocated smaller
+    for(int i = 3; i < 10; i++) {
+        psFree(mySt[i]);
+    }
+    psMemCheckLeaks(0, NULL, stdout);
+    printFooter(stdout, "psArray", "Free void pointer array with function callback", true);
+
+    return 0;
+}
Index: /trunk/psLib/test/collections/tst_psBitSet_01.c
===================================================================
--- /trunk/psLib/test/collections/tst_psBitSet_01.c	(revision 576)
+++ /trunk/psLib/test/collections/tst_psBitSet_01.c	(revision 576)
@@ -0,0 +1,63 @@
+/** @file  tst_psBitSet_01.c
+ *
+ *  @brief Test driver for psBitSet functions
+ *
+ *  This test driver contains the following tests for psArray test point 1:
+ *     A)  Create psBitSet
+ *     B)  Set single bit
+ *     C)  Test single bit
+ *     D)  Free psBitSet
+ *
+ *  @author  Ross Harman, MHPCC
+ *
+ *  @version $Revision: 1.1 $  $Name: not supported by cvs2svn $
+ *  @date  $Date: 2004-05-05 20:39:09 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ *
+ */
+
+#include "psLib.h"
+#include "psTest.h"
+
+int main(int argc,
+         char* argv[])
+{
+    char *binOut = NULL;
+
+
+    // Test A - Create psBitSet
+    printPositiveTestHeader(stdout,"psBitSet", "Create psBitSet");
+    printf("Creating psBitSet with 24 bits...\n");
+    psBitSet* bs = psBitSetAlloc(3);
+    binOut = psBitSetToString(bs);
+    printf("%s\n\n", binOut);
+    psFree(binOut);
+    printFooter(stdout, "psBitSet", "Create psBitSet", true);
+
+
+    // Test B - Set single bit
+    printPositiveTestHeader(stdout, "psBitSet", "Set single bit");
+    printf("Setting third bit...\n");
+    bs = psBitSetSet(bs, 2);
+    binOut = psBitSetToString(bs);
+    printf("%s\n\n", binOut);
+    psFree(binOut);
+    printFooter(stdout, "psBitSet", "Set single bit", true);
+
+
+    // Test C - Test single bit
+    printPositiveTestHeader(stdout, "psBitSet", "Test single bit");
+    printf("Testing third bit...\n");
+    printf("Result: %d\n", psBitSetTest(bs, 2));
+    printFooter(stdout, "psBitSet", "Test single bit", true);
+
+
+    // Test D - Free psBitSet
+    printPositiveTestHeader(stdout, "psBitSet", "Free psBitSet");
+    psBitSetFree(bs);
+    psMemCheckLeaks(0, NULL, stdout);
+    printFooter(stdout, "psBitSet", "Free psBitSet", true);
+
+    return 0;
+}
Index: /trunk/psLib/test/collections/tst_psBitSet_02.c
===================================================================
--- /trunk/psLib/test/collections/tst_psBitSet_02.c	(revision 576)
+++ /trunk/psLib/test/collections/tst_psBitSet_02.c	(revision 576)
@@ -0,0 +1,72 @@
+/** @file  tst_psBitSet_02.c
+ *
+ *  @brief Test driver for psBitSet functions
+ *
+ *  This test driver contains the following tests for psArray test point 2:
+ *     A)  Create two psBitSets
+ *     B)  Perform binary AND with psBitSets
+ *     C)  Free psBitSets
+ *
+ *  @author  Ross Harman, MHPCC
+ *
+ *  @version $Revision: 1.1 $  $Name: not supported by cvs2svn $
+ *  @date  $Date: 2004-05-05 20:39:09 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ *
+ */
+
+#include "psLib.h"
+#include "psTest.h"
+
+int main(int argc,
+         char* argv[])
+{
+    char *binOut = NULL;
+
+
+    // Test A - Create two psBitSets
+    printPositiveTestHeader(stdout,"psBitSet", "Create two psBitSets");
+    psBitSet* bs1 = psBitSetAlloc(3);
+    psBitSet* bs2 = psBitSetAlloc(3);
+    binOut = psBitSetToString(bs1);
+    printf("%s\n", binOut);
+    psFree(binOut);
+    binOut = psBitSetToString(bs2);
+    printf("%s\n\n", binOut);
+    psFree(binOut);
+    printf("Setting all bits true...\n");
+    for(int i=0; i<24; i++) {
+        bs1 = psBitSetSet(bs1, i);
+        bs2 = psBitSetSet(bs2, i);
+    }
+    binOut = psBitSetToString(bs1);
+    printf("%s\n", binOut);
+    psFree(binOut);
+    binOut = psBitSetToString(bs2);
+    printf("%s\n\n", binOut);
+    psFree(binOut);
+    printFooter(stdout, "psBitSet", "Create two psBitSets", true);
+
+
+    // Test B - Perform binary AND with psBitSets
+    printPositiveTestHeader(stdout,"psBitSet", "Perform binary AND with psBitSets");
+    psBitSet* outbs = psBitSetAlloc(3);
+    outbs = psBitSetOp(outbs, bs1, "AND", bs2);
+    binOut = psBitSetToString(outbs);
+    printf("Result:\n");
+    printf("%s\n", binOut);
+    psFree(binOut);
+    printFooter(stdout, "psBitSet", "Perform binary AND with psBitSets", true);
+
+
+    // Test C - Free psBitSets
+    printPositiveTestHeader(stdout, "psBitSet", "Free psBitSets");
+    psBitSetFree(bs1);
+    psBitSetFree(bs2);
+    psBitSetFree(outbs);
+    psMemCheckLeaks(0, NULL, stdout);
+    printFooter(stdout, "psBitSet", "Free psBitSets", true);
+
+    return 0;
+}
Index: /trunk/psLib/test/collections/tst_psBitSet_03.c
===================================================================
--- /trunk/psLib/test/collections/tst_psBitSet_03.c	(revision 576)
+++ /trunk/psLib/test/collections/tst_psBitSet_03.c	(revision 576)
@@ -0,0 +1,72 @@
+/** @file  tst_psBitSet_03.c
+ *
+ *  @brief Test driver for psBitSet functions
+ *
+ *  This test driver contains the following tests for psArray test point 3:
+ *     A)  Create two psBitSets
+ *     B)  Perform binary OR with psBitSets
+ *     C)  Free psBitSets
+ *
+ *  @author  Ross Harman, MHPCC
+ *
+ *  @version $Revision: 1.1 $  $Name: not supported by cvs2svn $
+ *  @date  $Date: 2004-05-05 20:39:09 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ *
+ */
+
+#include "psLib.h"
+#include "psTest.h"
+
+int main(int argc,
+         char* argv[])
+{
+    char *binOut = NULL;
+
+
+    // Test A - Create two psBitSets
+    printPositiveTestHeader(stdout,"psBitSet", "Create two psBitSets");
+    psBitSet* bs1 = psBitSetAlloc(3);
+    psBitSet* bs2 = psBitSetAlloc(3);
+    binOut = psBitSetToString(bs1);
+    printf("%s\n", binOut);
+    psFree(binOut);
+    binOut = psBitSetToString(bs2);
+    printf("%s\n\n", binOut);
+    psFree(binOut);
+    printf("Setting all bits true...\n");
+    for(int i=0; i<24; i++) {
+        bs1 = psBitSetSet(bs1, i);
+        bs2 = psBitSetSet(bs2, i);
+    }
+    binOut = psBitSetToString(bs1);
+    printf("%s\n", binOut);
+    psFree(binOut);
+    binOut = psBitSetToString(bs2);
+    printf("%s\n\n", binOut);
+    psFree(binOut);
+    printFooter(stdout, "psBitSet", "Create two psBitSets", true);
+
+
+    // Test B - Perform binary OR with psBitSets
+    printPositiveTestHeader(stdout,"psBitSet", "Perform binary OR with psBitSets");
+    psBitSet* outbs = psBitSetAlloc(3);
+    outbs = psBitSetOp(outbs, bs1, "OR", bs2);
+    binOut = psBitSetToString(outbs);
+    printf("Result:\n");
+    printf("%s\n", binOut);
+    psFree(binOut);
+    printFooter(stdout, "psBitSet", "Perform binary OR with psBitSets", true);
+
+
+    // Test C - Free psBitSets
+    printPositiveTestHeader(stdout, "psBitSet", "Free psBitSets");
+    psBitSetFree(bs1);
+    psBitSetFree(bs2);
+    psBitSetFree(outbs);
+    psMemCheckLeaks(0, NULL, stdout);
+    printFooter(stdout, "psBitSet", "Free psBitSets", true);
+
+    return 0;
+}
Index: /trunk/psLib/test/collections/tst_psBitSet_04.c
===================================================================
--- /trunk/psLib/test/collections/tst_psBitSet_04.c	(revision 576)
+++ /trunk/psLib/test/collections/tst_psBitSet_04.c	(revision 576)
@@ -0,0 +1,72 @@
+/** @file  tst_psBitSet_04.c
+ *
+ *  @brief Test driver for psBitSet functions
+ *
+ *  This test driver contains the following tests for psArray test point 4:
+ *     A)  Create two psBitSets
+ *     B)  Perform binary XOR with psBitSets
+ *     C)  Free psBitSets
+ *
+ *  @author  Ross Harman, MHPCC
+ *
+ *  @version $Revision: 1.1 $  $Name: not supported by cvs2svn $
+ *  @date  $Date: 2004-05-05 20:39:09 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ *
+ */
+
+#include "psLib.h"
+#include "psTest.h"
+
+int main(int argc,
+         char* argv[])
+{
+    char *binOut = NULL;
+
+
+    // Test A - Create two psBitSets
+    printPositiveTestHeader(stdout,"psBitSet", "Create two psBitSets");
+    psBitSet* bs1 = psBitSetAlloc(3);
+    psBitSet* bs2 = psBitSetAlloc(3);
+    binOut = psBitSetToString(bs1);
+    printf("%s\n", binOut);
+    psFree(binOut);
+    binOut = psBitSetToString(bs2);
+    printf("%s\n\n", binOut);
+    psFree(binOut);
+    printf("Setting all bits true...\n");
+    for(int i=0; i<24; i++) {
+        bs1 = psBitSetSet(bs1, i);
+        bs2 = psBitSetSet(bs2, i);
+    }
+    binOut = psBitSetToString(bs1);
+    printf("%s\n", binOut);
+    psFree(binOut);
+    binOut = psBitSetToString(bs2);
+    printf("%s\n\n", binOut);
+    psFree(binOut);
+    printFooter(stdout, "psBitSet", "Create two psBitSets", true);
+
+
+    // Test B - Perform binary XOR with psBitSets
+    printPositiveTestHeader(stdout,"psBitSet", "Perform binary XOR with psBitSets");
+    psBitSet* outbs = psBitSetAlloc(3);
+    outbs = psBitSetOp(outbs, bs1, "XOR", bs2);
+    binOut = psBitSetToString(outbs);
+    printf("Result:\n");
+    printf("%s\n", binOut);
+    psFree(binOut);
+    printFooter(stdout, "psBitSet", "Perform binary XOR with psBitSets", true);
+
+
+    // Test C - Free psBitSets
+    printPositiveTestHeader(stdout, "psBitSet", "Free psBitSets");
+    psBitSetFree(bs1);
+    psBitSetFree(bs2);
+    psBitSetFree(outbs);
+    psMemCheckLeaks(0, NULL, stdout);
+    printFooter(stdout, "psBitSet", "Free psBitSets", true);
+
+    return 0;
+}
Index: /trunk/psLib/test/collections/tst_psBitSet_05.c
===================================================================
--- /trunk/psLib/test/collections/tst_psBitSet_05.c	(revision 576)
+++ /trunk/psLib/test/collections/tst_psBitSet_05.c	(revision 576)
@@ -0,0 +1,57 @@
+/** @file  tst_psBitSet_05.c
+ *
+ *  @brief Test driver for psBitSet functions
+ *
+ *  This test driver contains the following tests for psArray test point 5:
+ *     A)  Create two psBitSets of different size
+ *     B)  Attempt OR with psBitsets, should get error
+ *     C)  Free psBitSets
+ *
+ *  @author  Ross Harman, MHPCC
+ *
+ *  @version $Revision: 1.1 $  $Name: not supported by cvs2svn $
+ *  @date  $Date: 2004-05-05 20:39:09 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ *
+ */
+
+#include "psLib.h"
+#include "psTest.h"
+
+int main(int argc,
+         char* argv[])
+{
+    char *binOut = NULL;
+
+
+    // Test A - Create two psBitSets
+    printPositiveTestHeader(stdout,"psBitSet", "Create two psBitSets of different size");
+    psBitSet* bs1 = psBitSetAlloc(3);
+    psBitSet* bs2 = psBitSetAlloc(5);
+    binOut = psBitSetToString(bs1);
+    printf("%s\n", binOut);
+    psFree(binOut);
+    binOut = psBitSetToString(bs2);
+    printf("%s\n\n", binOut);
+    psFree(binOut);
+    printFooter(stdout, "psBitSet", "Create two psBitSets of different size", true);
+
+
+    // Test B - Attempt OR with psBitsets, should get error
+    printNegativeTestHeader(stdout, "psBitSet", "Attempt OR with psBitsets", "psBitSet sizes not the same", 0);
+    psBitSet* outbs = psBitSetAlloc(3);
+    outbs = psBitSetOp(outbs, bs1, "OR", bs2);
+    printFooter(stdout, "psBitSet", "Attempt OR with psBitsets", true);
+
+
+    // Test C - Free psBitSets
+    printPositiveTestHeader(stdout, "psBitSet", "Free psBitSets");
+    psBitSetFree(bs1);
+    psBitSetFree(bs2);
+    psBitSetFree(outbs);
+    psMemCheckLeaks(0, NULL, stdout);
+    printFooter(stdout, "psBitSet", "Free psBitSets", true);
+
+    return 0;
+}
Index: /trunk/psLib/test/collections/tst_psBitSet_06.c
===================================================================
--- /trunk/psLib/test/collections/tst_psBitSet_06.c	(revision 576)
+++ /trunk/psLib/test/collections/tst_psBitSet_06.c	(revision 576)
@@ -0,0 +1,58 @@
+/** @file  tst_psBitSet_06.c
+ *
+ *  @brief Test driver for psBitSet functions
+ *
+ *  This test driver contains the following tests for psArray test point 6:
+ *     A)  Create two psBitSets
+ *     B)  Perform invalid binary operation with psBitSets
+ *     C)  Free psBitSets
+ *
+ *  @author  Ross Harman, MHPCC
+ *
+ *  @version $Revision: 1.1 $  $Name: not supported by cvs2svn $
+ *  @date  $Date: 2004-05-05 20:39:09 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ *
+ */
+
+#include "psLib.h"
+#include "psTest.h"
+
+int main(int argc,
+         char* argv[])
+{
+    char *binOut = NULL;
+
+
+    // Test A - Create two psBitSets
+    printPositiveTestHeader(stdout,"psBitSet", "Create two psBitSets");
+    psBitSet* bs1 = psBitSetAlloc(3);
+    psBitSet* bs2 = psBitSetAlloc(3);
+    binOut = psBitSetToString(bs1);
+    printf("%s\n", binOut);
+    psFree(binOut);
+    binOut = psBitSetToString(bs2);
+    printf("%s\n\n", binOut);
+    psFree(binOut);
+    printFooter(stdout, "psBitSet", "Create two psBitSets", true);
+
+
+    // Test B - Perform invalid binary operation with psBitSets
+    printNegativeTestHeader(stdout,"psBitSet", "Perform invalid binary operation",
+                            "Invalid psBitMask binary operation", 0);
+    psBitSet* outbs = psBitSetAlloc(3);
+    outbs = psBitSetOp(outbs, bs1, "ZZXOR", bs2);
+    printFooter(stdout, "psBitSet", "Perform binary XOR with psBitSets", true);
+
+
+    // Test C - Free psBitSets
+    printPositiveTestHeader(stdout, "psBitSet", "Free psBitSets");
+    psBitSetFree(bs1);
+    psBitSetFree(bs2);
+    psBitSetFree(outbs);
+    psMemCheckLeaks(0, NULL, stdout);
+    printFooter(stdout, "psBitSet", "Free psBitSetFree psBitSets", true);
+
+    return 0;
+}
Index: /trunk/psLib/test/collections/tst_psSort_01.c
===================================================================
--- /trunk/psLib/test/collections/tst_psSort_01.c	(revision 576)
+++ /trunk/psLib/test/collections/tst_psSort_01.c	(revision 576)
@@ -0,0 +1,62 @@
+/** @file  tst_psSort_01.c
+ *
+ *  @brief Test driver for psSort functions
+ *
+ *  This test driver contains the following tests for psSort test point 1:
+ *     A)  Create float arrays
+ *     B)  Sort input float array and put results into output float array
+ *     C)  Free float arrays
+ *
+ *  @author  Ross Harman, MHPCC
+ *
+ *  @version $Revision: 1.1 $  $Name: not supported by cvs2svn $
+ *  @date  $Date: 2004-05-05 20:39:09 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ *
+ */
+
+#include "psLib.h"
+#include "psTest.h"
+
+int main(int argc,
+         char* argv[])
+{
+    psArray *in = NULL;
+    psArray *out = NULL;
+
+
+    // Test A - Create float arrays
+    printPositiveTestHeader(stdout,"psSort", "Create float arrays");
+    in = psFloatArrayAlloc(5);
+    in->n = 5;
+    out = psFloatArrayAlloc(5);
+    out->n = 5;
+    in->arr.fltArr[0] = 7.0f;
+    in->arr.fltArr[1] = 9.0f;
+    in->arr.fltArr[2] = 3.0f;
+    in->arr.fltArr[3] = 1.0f;
+    in->arr.fltArr[4] = 5.0f;
+    for(int i=0; i<5; i++) {
+        printf("arr[%d] = %f\n", i, in->arr.fltArr[i]);
+    }
+    printFooter(stdout, "psSort", "Create float arrays", true);
+
+
+    // Test B - Sort input float array and put results into output float array
+    printPositiveTestHeader(stdout,"psSort", "Sort float array");
+    out = psSort(out, in);
+    for(int i=0; i<5; i++) {
+        printf("arr[%d] = %f\n", i, out->arr.fltArr[i]);
+    }
+    printFooter(stdout, "psSort", "Sort float array", true);
+
+
+    // Test C - Free float arrays
+    printPositiveTestHeader(stdout,"psSort", "Free float arrays");
+    psFloatArrayFree(in);
+    psFloatArrayFree(out);
+    psMemCheckLeaks(0, NULL, stdout);
+    printFooter(stdout, "psSort", "Free float arrays", true);
+
+}
Index: /trunk/psLib/test/collections/tst_psSort_02.c
===================================================================
--- /trunk/psLib/test/collections/tst_psSort_02.c	(revision 576)
+++ /trunk/psLib/test/collections/tst_psSort_02.c	(revision 576)
@@ -0,0 +1,62 @@
+/** @file  tst_psSort_02.c
+ *
+ *  @brief Test driver for psSort functions
+ *
+ *  This test driver contains the following tests for psSort test point 2:
+ *     A)  Create arrays
+ *     B)  Sort integer array of indices based on pre-sort order of floating point array
+ *     C)  Free arrays
+ *
+ *  @author  Ross Harman, MHPCC
+ *
+ *  @version $Revision: 1.1 $  $Name: not supported by cvs2svn $
+ *  @date  $Date: 2004-05-05 20:39:09 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ *
+ */
+
+#include "psLib.h"
+#include "psTest.h"
+
+int main(int argc,
+         char* argv[])
+{
+    psArray *in = NULL;
+    psArray *out = NULL;
+
+
+    // Test A - Create float arrays
+    printPositiveTestHeader(stdout,"psSort", "Create arrays");
+    in = psFloatArrayAlloc(5);
+    in->n = 5;
+    out = psIntArrayAlloc(5);
+    out->n = 5;
+    in->arr.fltArr[0] = 7.0f;
+    in->arr.fltArr[1] = 9.0f;
+    in->arr.fltArr[2] = 3.0f;
+    in->arr.fltArr[3] = 1.0f;
+    in->arr.fltArr[4] = 5.0f;
+    for(int i=0; i<5; i++) {
+        printf("arr[%d] = %f\n", i, in->arr.fltArr[i]);
+    }
+    printFooter(stdout, "psSort", "Create arrays", true);
+
+
+    // Test B - Sort integer array of indices based on pre-sort order of floating point array
+    printPositiveTestHeader(stdout,"psSort", "Create sorted index array");
+    out = psSortIndex(out, in);
+    for(int i=0; i<5; i++) {
+        printf("arr[%d] = %d\n", i, out->arr.intArr[i]);
+    }
+    printFooter(stdout, "psSort", "Create sorted index array", true);
+
+
+    // Test C - Free arrays
+    printPositiveTestHeader(stdout,"psSort", "Free arrays");
+    psFloatArrayFree(in);
+    psIntArrayFree(out);
+    psMemCheckLeaks(0, NULL, stdout);
+    printFooter(stdout, "psSort", "Free arrays", true);
+
+}
Index: /trunk/psLib/test/collections/tst_psSort_03.c
===================================================================
--- /trunk/psLib/test/collections/tst_psSort_03.c	(revision 576)
+++ /trunk/psLib/test/collections/tst_psSort_03.c	(revision 576)
@@ -0,0 +1,56 @@
+/** @file  tst_psSort_03.c
+ *
+ *  @brief Test driver for psSort functions
+ *
+ *  This test driver contains the following tests for psSort test point 3:
+ *     A)  Create float arrays of different sizes
+ *     B)  Attempt to sort arrays...should get errors
+ *     C)  Free float arrays
+ *
+ *  @author  Ross Harman, MHPCC
+ *
+ *  @version $Revision: 1.1 $  $Name: not supported by cvs2svn $
+ *  @date  $Date: 2004-05-05 20:39:09 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ *
+ */
+
+#include "psLib.h"
+#include "psTest.h"
+
+int main(int argc,
+         char* argv[])
+{
+    psArray *in = NULL;
+    psArray *out = NULL;
+
+
+    // Test A - Create float arrays
+    printPositiveTestHeader(stdout,"psSort", "Create float arrays of different sizes");
+    in = psFloatArrayAlloc(5);
+    in->n = 5;
+    out = psFloatArrayAlloc(6);
+    out->n = 6;
+    in->n = 5;
+    for(int i=0; i<5; i++) {
+        printf("arr[%d] = %f\n", i, in->arr.fltArr[i]);
+    }
+    printFooter(stdout, "psSort", "Create float arrays of different sizes", true);
+
+
+    // Test B - Sort input float array and put results into output float array
+    printNegativeTestHeader(stdout,"psSort", "Sort float array",
+                            "Input and output array sizes are not equal", 0);
+    out = psSort(out, in);
+    printFooter(stdout, "psSort", "Sort float array", true);
+
+
+    // Test C - Free float arrays
+    printPositiveTestHeader(stdout,"psSort", "Free float arrays");
+    psFloatArrayFree(in);
+    psFloatArrayFree(out);
+    psMemCheckLeaks(0, NULL, stdout);
+    printFooter(stdout, "psSort", "Free float arrays", true);
+
+}
Index: /trunk/psLib/test/collections/tst_psSort_04.c
===================================================================
--- /trunk/psLib/test/collections/tst_psSort_04.c	(revision 576)
+++ /trunk/psLib/test/collections/tst_psSort_04.c	(revision 576)
@@ -0,0 +1,48 @@
+/** @file  tst_psSort_04.c
+ *
+ *  @brief Test driver for psSort functions
+ *
+ *  This test driver contains the following tests for psSort test point 4:
+ *     A)  Attempt to sort with null input array
+ *     B)  Attempt to sort with null output array 
+ *     C)  Free arrays 
+ *
+ *  @author  Ross Harman, MHPCC
+ *
+ *  @version $Revision: 1.1 $  $Name: not supported by cvs2svn $
+ *  @date  $Date: 2004-05-05 20:39:09 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ *
+ */
+
+#include "psLib.h"
+#include "psTest.h"
+
+int main(int argc,
+         char* argv[])
+{
+    psArray *badIn = NULL;
+    psArray *badOut = NULL;
+    psArray *goodIn = psFloatArrayAlloc(5);
+    psArray *goodOut = psFloatArrayAlloc(5);
+
+    // Test A - Attempt to sort with null input array
+    printNegativeTestHeader(stdout,"psSort", "Attempt to sort with null input array",
+                            "Null input array", 0);
+    goodOut = psSort(goodOut, badIn);
+    printFooter(stdout, "psSort", "Attempt to sort with null input array", true);
+
+    // Test B - Attempt to sort with null output array
+    printNegativeTestHeader(stdout,"psSort", "Attempt to sort with null output array",
+                            "Null output array", 0);
+    badOut = psSort(badOut, goodIn);
+    printFooter(stdout, "psSort", "Attempt to sort with null output array", true);
+
+    // Test C - Free arrays
+    printPositiveTestHeader(stdout, "psSort", "Free arrays");
+    psFloatArrayFree(goodIn);
+    psFloatArrayFree(goodOut);
+    psMemCheckLeaks(0, NULL, stdout);
+    printFooter(stdout, "psSort", "Free arays", true);
+}
Index: /trunk/psLib/test/collections/verified/tst_psArray_01.stdout
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psArray_01.stdout	(revision 576)
+++ /trunk/psLib/test/collections/verified/tst_psArray_01.stdout	(revision 576)
@@ -0,0 +1,63 @@
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_01.c                                           |
+|  TestPoint: psArray{Create integer array}                              |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Array size = 5
+
+---> TESTPOINT PASSED (psArray{Create integer array} | tst_psArray_01.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_01.c                                           |
+|  TestPoint: psArray{Add data to integer array}                         |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Elem 0 = 0
+Elem 1 = 10
+Elem 2 = 20
+Elem 3 = 30
+Elem 4 = 40
+
+---> TESTPOINT PASSED (psArray{Add data to integer array} | tst_psArray_01.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_01.c                                           |
+|  TestPoint: psArray{Reallocate integer array bigger}                   |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Array size = 10
+
+Adding more elements to integer array...
+Elem 5 = 50
+Elem 6 = 60
+Elem 7 = 70
+Elem 8 = 80
+Elem 9 = 90
+
+---> TESTPOINT PASSED (psArray{Reallocate integer array bigger} | tst_psArray_01.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_01.c                                           |
+|  TestPoint: psArray{Reallocate integer array smaller}                  |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Array size = 3
+Elem 0 = 0
+Elem 1 = 10
+Elem 2 = 20
+
+---> TESTPOINT PASSED (psArray{Reallocate integer array smaller} | tst_psArray_01.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_01.c                                           |
+|  TestPoint: psArray{Free integer array}                                |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+
+---> TESTPOINT PASSED (psArray{Free integer array} | tst_psArray_01.c)
+
Index: /trunk/psLib/test/collections/verified/tst_psArray_02.stdout
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psArray_02.stdout	(revision 576)
+++ /trunk/psLib/test/collections/verified/tst_psArray_02.stdout	(revision 576)
@@ -0,0 +1,63 @@
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_02.c                                           |
+|  TestPoint: psArray{Create float array}                                |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Array size = 5
+
+---> TESTPOINT PASSED (psArray{Create float array} | tst_psArray_02.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_02.c                                           |
+|  TestPoint: psArray{Add data to float array}                           |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Elem 0 = 0.00
+Elem 1 = 10.10
+Elem 2 = 20.20
+Elem 3 = 30.30
+Elem 4 = 40.40
+
+---> TESTPOINT PASSED (psArray{Add data to float array} | tst_psArray_02.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_02.c                                           |
+|  TestPoint: psArray{Reallocate float array bigger}                     |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Array size = 10
+
+Adding more elements to float array...
+Elem 5 = 50.50
+Elem 6 = 60.60
+Elem 7 = 70.70
+Elem 8 = 80.80
+Elem 9 = 90.90
+
+---> TESTPOINT PASSED (psArray{Reallocate float array bigger} | tst_psArray_02.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_02.c                                           |
+|  TestPoint: psArray{Reallocate float array smaller}                    |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Array size = 3
+Elem 0 = 0.00
+Elem 1 = 10.10
+Elem 2 = 20.20
+
+---> TESTPOINT PASSED (psArray{Reallocate float array smaller} | tst_psArray_02.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_02.c                                           |
+|  TestPoint: psArray{Free float array}                                  |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+
+---> TESTPOINT PASSED (psArray{Free float array} | tst_psArray_02.c)
+
Index: /trunk/psLib/test/collections/verified/tst_psArray_03.stdout
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psArray_03.stdout	(revision 576)
+++ /trunk/psLib/test/collections/verified/tst_psArray_03.stdout	(revision 576)
@@ -0,0 +1,63 @@
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_03.c                                           |
+|  TestPoint: psArray{Create double array}                               |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Array size = 5
+
+---> TESTPOINT PASSED (psArray{Create double array} | tst_psArray_03.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_03.c                                           |
+|  TestPoint: psArray{Add data to double array}                          |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Elem 0 = 0.00
+Elem 1 = 10.10
+Elem 2 = 20.20
+Elem 3 = 30.30
+Elem 4 = 40.40
+
+---> TESTPOINT PASSED (psArray{Add data to double array} | tst_psArray_03.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_03.c                                           |
+|  TestPoint: psArray{Reallocate double array bigger}                    |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Array size = 10
+
+Adding more elements to double array...
+Elem 5 = 50.50
+Elem 6 = 60.60
+Elem 7 = 70.70
+Elem 8 = 80.80
+Elem 9 = 90.90
+
+---> TESTPOINT PASSED (psArray{Reallocate double array bigger} | tst_psArray_03.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_03.c                                           |
+|  TestPoint: psArray{Reallocate double array smaller}                   |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Array size = 3
+Elem 0 = 0.00
+Elem 1 = 10.10
+Elem 2 = 20.20
+
+---> TESTPOINT PASSED (psArray{Reallocate double array smaller} | tst_psArray_03.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_03.c                                           |
+|  TestPoint: psArray{Free double array}                                 |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+
+---> TESTPOINT PASSED (psArray{Free double array} | tst_psArray_03.c)
+
Index: /trunk/psLib/test/collections/verified/tst_psArray_04.stdout
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psArray_04.stdout	(revision 576)
+++ /trunk/psLib/test/collections/verified/tst_psArray_04.stdout	(revision 576)
@@ -0,0 +1,63 @@
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_04.c                                           |
+|  TestPoint: psArray{Create complex array}                              |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Array size = 5
+
+---> TESTPOINT PASSED (psArray{Create complex array} | tst_psArray_04.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_04.c                                           |
+|  TestPoint: psArray{Add data to complex array}                         |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Elem 0 = 0.00+0.00i
+Elem 1 = 10.10+10.10i
+Elem 2 = 20.20+20.20i
+Elem 3 = 30.30+30.30i
+Elem 4 = 40.40+40.40i
+
+---> TESTPOINT PASSED (psArray{Add data to complex array} | tst_psArray_04.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_04.c                                           |
+|  TestPoint: psArray{Reallocate complex array bigger}                   |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Array size = 10
+
+Adding more elements to complex array...
+Elem 5 = 50.50+50.50i
+Elem 6 = 60.60+60.60i
+Elem 7 = 70.70+70.70i
+Elem 8 = 80.80+80.80i
+Elem 9 = 90.90+90.90i
+
+---> TESTPOINT PASSED (psArray{Reallocate complex array bigger} | tst_psArray_04.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_04.c                                           |
+|  TestPoint: psArray{Reallocate complex array smaller}                  |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Array size = 3
+Elem 0 = 0.00+0.00i
+Elem 1 = 10.10+10.10i
+Elem 2 = 20.20+20.20i
+
+---> TESTPOINT PASSED (psArray{Reallocate complex array smaller} | tst_psArray_04.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_04.c                                           |
+|  TestPoint: psArray{Free complex array}                                |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+
+---> TESTPOINT PASSED (psArray{Free complex array} | tst_psArray_04.c)
+
Index: /trunk/psLib/test/collections/verified/tst_psArray_05.stdout
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psArray_05.stdout	(revision 576)
+++ /trunk/psLib/test/collections/verified/tst_psArray_05.stdout	(revision 576)
@@ -0,0 +1,66 @@
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_05.c                                           |
+|  TestPoint: psArray{Create void pointer array}                         |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Array size = 5
+
+---> TESTPOINT PASSED (psArray{Create void pointer array} | tst_psArray_05.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_05.c                                           |
+|  TestPoint: psArray{Add data to void pointer array}                    |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+ts[0].x = 0 ts[0].y = 0.00
+ts[1].x = 10 ts[1].y = 10.10
+ts[2].x = 20 ts[2].y = 20.20
+ts[3].x = 30 ts[3].y = 30.30
+ts[4].x = 40 ts[4].y = 40.40
+
+---> TESTPOINT PASSED (psArray{Add data to void pointer array} | tst_psArray_05.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_05.c                                           |
+|  TestPoint: psArray{Reallocate void pointer array bigger}              |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Array size = 10
+ts[0].x = 0 ts[0].y = 0.00
+ts[1].x = 10 ts[1].y = 10.10
+ts[2].x = 20 ts[2].y = 20.20
+ts[3].x = 30 ts[3].y = 30.30
+ts[4].x = 40 ts[4].y = 40.40
+ts[5].x = 50 ts[5].y = 50.50
+ts[6].x = 60 ts[6].y = 60.60
+ts[7].x = 70 ts[7].y = 70.70
+ts[8].x = 80 ts[8].y = 80.80
+ts[9].x = 90 ts[9].y = 90.90
+
+---> TESTPOINT PASSED (psArray{Reallocate void pointer array bigger} | tst_psArray_05.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_05.c                                           |
+|  TestPoint: psArray{Reallocate void pointer array smaller}             |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Array size = 3
+ts[0].x = 0 ts[0].y = 0.00
+ts[1].x = 10 ts[1].y = 10.10
+ts[2].x = 20 ts[2].y = 20.20
+
+---> TESTPOINT PASSED (psArray{Reallocate void pointer array smaller} | tst_psArray_05.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_05.c                                           |
+|  TestPoint: psArray{Free void pointer array}                           |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+
+---> TESTPOINT PASSED (psArray{Free void pointer array} | tst_psArray_05.c)
+
Index: /trunk/psLib/test/collections/verified/tst_psArray_06.stdout
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psArray_06.stdout	(revision 576)
+++ /trunk/psLib/test/collections/verified/tst_psArray_06.stdout	(revision 576)
@@ -0,0 +1,66 @@
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_06.c                                           |
+|  TestPoint: psArray{Create void pointer array}                         |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Array size = 5
+
+---> TESTPOINT PASSED (psArray{Create void pointer array} | tst_psArray_06.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_06.c                                           |
+|  TestPoint: psArray{Add data to void pointer array}                    |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+ts[0].x = 0 ts[0].y = 0.00
+ts[1].x = 10 ts[1].y = 10.10
+ts[2].x = 20 ts[2].y = 20.20
+ts[3].x = 30 ts[3].y = 30.30
+ts[4].x = 40 ts[4].y = 40.40
+
+---> TESTPOINT PASSED (psArray{Add data to void pointer array} | tst_psArray_06.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_06.c                                           |
+|  TestPoint: psArray{Reallocate void pointer array bigger}              |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Array size = 10
+ts[0].x = 0 ts[0].y = 0.00
+ts[1].x = 10 ts[1].y = 10.10
+ts[2].x = 20 ts[2].y = 20.20
+ts[3].x = 30 ts[3].y = 30.30
+ts[4].x = 40 ts[4].y = 40.40
+ts[5].x = 50 ts[5].y = 50.50
+ts[6].x = 60 ts[6].y = 60.60
+ts[7].x = 70 ts[7].y = 70.70
+ts[8].x = 80 ts[8].y = 80.80
+ts[9].x = 90 ts[9].y = 90.90
+
+---> TESTPOINT PASSED (psArray{Reallocate void pointer array bigger} | tst_psArray_06.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_06.c                                           |
+|  TestPoint: psArray{Reallocate void pointer array smaller}             |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Array size = 3
+ts[0].x = 0 ts[0].y = 0.00
+ts[1].x = 10 ts[1].y = 10.10
+ts[2].x = 20 ts[2].y = 20.20
+
+---> TESTPOINT PASSED (psArray{Reallocate void pointer array smaller} | tst_psArray_06.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psArray_06.c                                           |
+|  TestPoint: psArray{Free void pointer array with function callback}    |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+
+---> TESTPOINT PASSED (psArray{Free void pointer array with function callback} | tst_psArray_06.c)
+
Index: /trunk/psLib/test/collections/verified/tst_psBitSet_01.stdout
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psBitSet_01.stdout	(revision 576)
+++ /trunk/psLib/test/collections/verified/tst_psBitSet_01.stdout	(revision 576)
@@ -0,0 +1,44 @@
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psBitSet_01.c                                          |
+|  TestPoint: psBitSet{Create psBitSet}                                  |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Creating psBitSet with 24 bits...
+000000000000000000000000
+
+
+---> TESTPOINT PASSED (psBitSet{Create psBitSet} | tst_psBitSet_01.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psBitSet_01.c                                          |
+|  TestPoint: psBitSet{Set single bit}                                   |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Setting third bit...
+000000000000000000000100
+
+
+---> TESTPOINT PASSED (psBitSet{Set single bit} | tst_psBitSet_01.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psBitSet_01.c                                          |
+|  TestPoint: psBitSet{Test single bit}                                  |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Testing third bit...
+Result: 1
+
+---> TESTPOINT PASSED (psBitSet{Test single bit} | tst_psBitSet_01.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psBitSet_01.c                                          |
+|  TestPoint: psBitSet{Free psBitSet}                                    |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+
+---> TESTPOINT PASSED (psBitSet{Free psBitSet} | tst_psBitSet_01.c)
+
Index: /trunk/psLib/test/collections/verified/tst_psBitSet_02.stdout
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psBitSet_02.stdout	(revision 576)
+++ /trunk/psLib/test/collections/verified/tst_psBitSet_02.stdout	(revision 576)
@@ -0,0 +1,36 @@
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psBitSet_02.c                                          |
+|  TestPoint: psBitSet{Create two psBitSets}                             |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+000000000000000000000000
+000000000000000000000000
+
+Setting all bits true...
+111111111111111111111111
+111111111111111111111111
+
+
+---> TESTPOINT PASSED (psBitSet{Create two psBitSets} | tst_psBitSet_02.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psBitSet_02.c                                          |
+|  TestPoint: psBitSet{Perform binary AND with psBitSets}                |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Result:
+111111111111111111111111
+
+---> TESTPOINT PASSED (psBitSet{Perform binary AND with psBitSets} | tst_psBitSet_02.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psBitSet_02.c                                          |
+|  TestPoint: psBitSet{Free psBitSets}                                   |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+
+---> TESTPOINT PASSED (psBitSet{Free psBitSets} | tst_psBitSet_02.c)
+
Index: /trunk/psLib/test/collections/verified/tst_psBitSet_03.stdout
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psBitSet_03.stdout	(revision 576)
+++ /trunk/psLib/test/collections/verified/tst_psBitSet_03.stdout	(revision 576)
@@ -0,0 +1,36 @@
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psBitSet_03.c                                          |
+|  TestPoint: psBitSet{Create two psBitSets}                             |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+000000000000000000000000
+000000000000000000000000
+
+Setting all bits true...
+111111111111111111111111
+111111111111111111111111
+
+
+---> TESTPOINT PASSED (psBitSet{Create two psBitSets} | tst_psBitSet_03.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psBitSet_03.c                                          |
+|  TestPoint: psBitSet{Perform binary OR with psBitSets}                 |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Result:
+111111111111111111111111
+
+---> TESTPOINT PASSED (psBitSet{Perform binary OR with psBitSets} | tst_psBitSet_03.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psBitSet_03.c                                          |
+|  TestPoint: psBitSet{Free psBitSets}                                   |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+
+---> TESTPOINT PASSED (psBitSet{Free psBitSets} | tst_psBitSet_03.c)
+
Index: /trunk/psLib/test/collections/verified/tst_psBitSet_04.stdout
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psBitSet_04.stdout	(revision 576)
+++ /trunk/psLib/test/collections/verified/tst_psBitSet_04.stdout	(revision 576)
@@ -0,0 +1,36 @@
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psBitSet_04.c                                          |
+|  TestPoint: psBitSet{Create two psBitSets}                             |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+000000000000000000000000
+000000000000000000000000
+
+Setting all bits true...
+111111111111111111111111
+111111111111111111111111
+
+
+---> TESTPOINT PASSED (psBitSet{Create two psBitSets} | tst_psBitSet_04.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psBitSet_04.c                                          |
+|  TestPoint: psBitSet{Perform binary XOR with psBitSets}                |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+Result:
+000000000000000000000000
+
+---> TESTPOINT PASSED (psBitSet{Perform binary XOR with psBitSets} | tst_psBitSet_04.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psBitSet_04.c                                          |
+|  TestPoint: psBitSet{Free psBitSets}                                   |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+
+---> TESTPOINT PASSED (psBitSet{Free psBitSets} | tst_psBitSet_04.c)
+
Index: /trunk/psLib/test/collections/verified/tst_psBitSet_05.stdout
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psBitSet_05.stdout	(revision 576)
+++ /trunk/psLib/test/collections/verified/tst_psBitSet_05.stdout	(revision 576)
@@ -0,0 +1,32 @@
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psBitSet_05.c                                          |
+|  TestPoint: psBitSet{Create two psBitSets of different size}           |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+000000000000000000000000
+0000000000000000000000000000000000000000
+
+
+---> TESTPOINT PASSED (psBitSet{Create two psBitSets of different size} | tst_psBitSet_05.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psBitSet_05.c                                          |
+|  TestPoint: psBitSet{Attempt OR with psBitsets}                        |
+|   TestType: Negative                                                   |
+| ExpectedErrorText: psBitSet sizes not the same                                |
+| ExpectedStatusValue: 0                                                          |
+\------------------------------------------------------------------------/
+
+
+---> TESTPOINT PASSED (psBitSet{Attempt OR with psBitsets} | tst_psBitSet_05.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psBitSet_05.c                                          |
+|  TestPoint: psBitSet{Free psBitSets}                                   |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+
+---> TESTPOINT PASSED (psBitSet{Free psBitSets} | tst_psBitSet_05.c)
+
Index: /trunk/psLib/test/collections/verified/tst_psBitSet_06.stdout
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psBitSet_06.stdout	(revision 576)
+++ /trunk/psLib/test/collections/verified/tst_psBitSet_06.stdout	(revision 576)
@@ -0,0 +1,32 @@
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psBitSet_06.c                                          |
+|  TestPoint: psBitSet{Create two psBitSets}                             |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+000000000000000000000000
+000000000000000000000000
+
+
+---> TESTPOINT PASSED (psBitSet{Create two psBitSets} | tst_psBitSet_06.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psBitSet_06.c                                          |
+|  TestPoint: psBitSet{Perform invalid binary operation}                 |
+|   TestType: Negative                                                   |
+| ExpectedErrorText: Invalid psBitMask binary operation                         |
+| ExpectedStatusValue: 0                                                          |
+\------------------------------------------------------------------------/
+
+
+---> TESTPOINT PASSED (psBitSet{Perform binary XOR with psBitSets} | tst_psBitSet_06.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psBitSet_06.c                                          |
+|  TestPoint: psBitSet{Free psBitSets}                                   |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+
+---> TESTPOINT PASSED (psBitSet{Free psBitSetFree psBitSets} | tst_psBitSet_06.c)
+
Index: /trunk/psLib/test/collections/verified/tst_psSort_01.stdout
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psSort_01.stdout	(revision 576)
+++ /trunk/psLib/test/collections/verified/tst_psSort_01.stdout	(revision 576)
@@ -0,0 +1,37 @@
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psSort_01.c                                            |
+|  TestPoint: psSort{Create float arrays}                                |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+arr[0] = 7.000000
+arr[1] = 9.000000
+arr[2] = 3.000000
+arr[3] = 1.000000
+arr[4] = 5.000000
+
+---> TESTPOINT PASSED (psSort{Create float arrays} | tst_psSort_01.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psSort_01.c                                            |
+|  TestPoint: psSort{Sort float array}                                   |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+arr[0] = 1.000000
+arr[1] = 3.000000
+arr[2] = 5.000000
+arr[3] = 7.000000
+arr[4] = 9.000000
+
+---> TESTPOINT PASSED (psSort{Sort float array} | tst_psSort_01.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psSort_01.c                                            |
+|  TestPoint: psSort{Free float arrays}                                  |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+
+---> TESTPOINT PASSED (psSort{Free float arrays} | tst_psSort_01.c)
+
Index: /trunk/psLib/test/collections/verified/tst_psSort_02.stdout
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psSort_02.stdout	(revision 576)
+++ /trunk/psLib/test/collections/verified/tst_psSort_02.stdout	(revision 576)
@@ -0,0 +1,37 @@
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psSort_02.c                                            |
+|  TestPoint: psSort{Create arrays}                                      |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+arr[0] = 7.000000
+arr[1] = 9.000000
+arr[2] = 3.000000
+arr[3] = 1.000000
+arr[4] = 5.000000
+
+---> TESTPOINT PASSED (psSort{Create arrays} | tst_psSort_02.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psSort_02.c                                            |
+|  TestPoint: psSort{Create sorted index array}                          |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+arr[0] = 3
+arr[1] = 2
+arr[2] = 4
+arr[3] = 0
+arr[4] = 1
+
+---> TESTPOINT PASSED (psSort{Create sorted index array} | tst_psSort_02.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psSort_02.c                                            |
+|  TestPoint: psSort{Free arrays}                                        |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+
+---> TESTPOINT PASSED (psSort{Free arrays} | tst_psSort_02.c)
+
Index: /trunk/psLib/test/collections/verified/tst_psSort_03.stdout
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psSort_03.stdout	(revision 576)
+++ /trunk/psLib/test/collections/verified/tst_psSort_03.stdout	(revision 576)
@@ -0,0 +1,34 @@
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psSort_03.c                                            |
+|  TestPoint: psSort{Create float arrays of different sizes}             |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+arr[0] = 0.000000
+arr[1] = 0.000000
+arr[2] = 0.000000
+arr[3] = 0.000000
+arr[4] = 0.000000
+
+---> TESTPOINT PASSED (psSort{Create float arrays of different sizes} | tst_psSort_03.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psSort_03.c                                            |
+|  TestPoint: psSort{Sort float array}                                   |
+|   TestType: Negative                                                   |
+| ExpectedErrorText: Input and output array sizes are not equal                 |
+| ExpectedStatusValue: 0                                                          |
+\------------------------------------------------------------------------/
+
+
+---> TESTPOINT PASSED (psSort{Sort float array} | tst_psSort_03.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psSort_03.c                                            |
+|  TestPoint: psSort{Free float arrays}                                  |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+
+---> TESTPOINT PASSED (psSort{Free float arrays} | tst_psSort_03.c)
+
Index: /trunk/psLib/test/collections/verified/tst_psSort_04.stdout
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psSort_04.stdout	(revision 576)
+++ /trunk/psLib/test/collections/verified/tst_psSort_04.stdout	(revision 576)
@@ -0,0 +1,31 @@
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psSort_04.c                                            |
+|  TestPoint: psSort{Attempt to sort with null input array}              |
+|   TestType: Negative                                                   |
+| ExpectedErrorText: Null input array                                           |
+| ExpectedStatusValue: 0                                                          |
+\------------------------------------------------------------------------/
+
+
+---> TESTPOINT PASSED (psSort{Attempt to sort with null input array} | tst_psSort_04.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psSort_04.c                                            |
+|  TestPoint: psSort{Attempt to sort with null output array}             |
+|   TestType: Negative                                                   |
+| ExpectedErrorText: Null output array                                          |
+| ExpectedStatusValue: 0                                                          |
+\------------------------------------------------------------------------/
+
+
+---> TESTPOINT PASSED (psSort{Attempt to sort with null output array} | tst_psSort_04.c)
+
+/----------------------------- TESTPOINT --------------------------------\
+|   TestFile: tst_psSort_04.c                                            |
+|  TestPoint: psSort{Free arrays}                                        |
+|   TestType: Positive                                                   |
+\------------------------------------------------------------------------/
+
+
+---> TESTPOINT PASSED (psSort{Free arays} | tst_psSort_04.c)
+
