Changeset 2669
- Timestamp:
- Dec 8, 2004, 2:47:20 PM (22 years ago)
- Location:
- trunk/psLib/test/collections
- Files:
-
- 3 edited
-
tst_psVectorSort_01.c (modified) (4 diffs)
-
verified/tst_psVectorSort_01.stderr (modified) (1 diff)
-
verified/tst_psVectorSort_01.stdout (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/test/collections/tst_psVectorSort_01.c
r2392 r2669 4 4 * 5 5 * This test driver contains the following tests for psVectorSort test point 1: 6 * A) Create float vectors 7 * B) Sort input float vector and put results into output float vector 6 * A) Sort input vector to output vector for all types 7 * B) Sort input float vector into itself 8 * C) Attempt to sort vector with invalid type (i.e. PS_TYPE_BOOL) 9 * D) Sort input vector with zero items 8 10 * C) Free float vectors 9 11 * 10 12 * @author Ross Harman, MHPCC 11 13 * 12 * @version $Revision: 1. 4$ $Name: not supported by cvs2svn $13 * @date $Date: 2004-1 1-22 21:07:42$14 * @version $Revision: 1.5 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2004-12-09 00:47:20 $ 14 16 * 15 17 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 20 22 #include "psTest.h" 21 23 24 #define tstVectorSortByType(datatype,value) \ 25 in = psVectorAlloc(7,PS_TYPE_##datatype); \ 26 in->n = 7; \ 27 out = psVectorAlloc(7,PS_TYPE_##datatype); \ 28 out->n = 7; \ 29 in->data.datatype[0] = 7+value; \ 30 in->data.datatype[1] = 9+value; \ 31 in->data.datatype[2] = 3+value; \ 32 in->data.datatype[3] = 1+value; \ 33 in->data.datatype[4] = 5+value; \ 34 in->data.datatype[5] = 5+value; \ 35 in->data.datatype[6] = 0+value; \ 36 tempVec = out; \ 37 out = psVectorSort(out, in); \ 38 if(tempVec != out) { \ 39 psError(PS_ERR_UNKNOWN,true,"Return value not equal to orignal output argument passed to function"); \ 40 return 5; \ 41 } \ 42 if(out->data.datatype[0] != in->data.datatype[6]) { \ 43 psError(PS_ERR_UNKNOWN,true,"Improper sort out[0] type %s",#datatype); \ 44 return 10; \ 45 } \ 46 if(out->data.datatype[1] != in->data.datatype[3]) { \ 47 psError(PS_ERR_UNKNOWN,true,"Improper sort out[1] type %s",#datatype); \ 48 return 20; \ 49 } \ 50 if(out->data.datatype[2] != in->data.datatype[2]) { \ 51 psError(PS_ERR_UNKNOWN,true,"Improper sort out[2] type %s",#datatype); \ 52 return 30; \ 53 } \ 54 if(out->data.datatype[3] != in->data.datatype[4]) { \ 55 psError(PS_ERR_UNKNOWN,true,"Improper sort out[3] type %s",#datatype); \ 56 return 40; \ 57 } \ 58 if(out->data.datatype[4] != in->data.datatype[5]) { \ 59 psError(PS_ERR_UNKNOWN,true,"Improper sort out[4] %s",#datatype); \ 60 return 50; \ 61 } \ 62 if(out->data.datatype[5] != in->data.datatype[0]) { \ 63 psError(PS_ERR_UNKNOWN,true,"Improper sort out[5] %s",#datatype); \ 64 return 60; \ 65 } \ 66 if(out->data.datatype[6] != in->data.datatype[1]) { \ 67 psError(PS_ERR_UNKNOWN,true,"Improper sort out[6] %s",#datatype); \ 68 return 70; \ 69 } \ 70 psFree(in); \ 71 psFree(out); 72 73 74 22 75 psS32 main(psS32 argc, 23 76 char* argv[]) … … 27 80 psVector *tempVec = NULL; 28 81 82 // Test A - Verify the sort for all supported types 83 printPositiveTestHeader(stdout,"psVectorSort","Sort all types"); 84 tstVectorSortByType(S8,0); 85 tstVectorSortByType(S16,1); 86 tstVectorSortByType(S32,2); 87 tstVectorSortByType(S64,3); 88 tstVectorSortByType(U8,4); 89 tstVectorSortByType(U16,5); 90 tstVectorSortByType(U32,6); 91 tstVectorSortByType(U64,7); 92 tstVectorSortByType(F32,8); 93 tstVectorSortByType(F64,9); 94 printFooter(stdout,"psVectorSort","Sort all types",true); 29 95 30 // Test A - Create float vectors31 printPositiveTestHeader(stdout,"psVectorSort", " Create float vectors");96 // Test B - Sort input vector into itself 97 printPositiveTestHeader(stdout,"psVectorSort", "Sort input float vector into itself"); 32 98 in = psVectorAlloc(7, PS_TYPE_F32); 33 99 in->n = 7; 34 out = psVectorAlloc(7, PS_TYPE_F32);35 out->n = 7;36 100 in->data.F32[0] = 7.0f; 37 101 in->data.F32[1] = 9.0f; … … 41 105 in->data.F32[5] = 5.0f; 42 106 in->data.F32[6] = -20.0f; 43 for(psS32 i=0; i<7; i++) { 44 printf("vec[%d] = %f\n", i, in->data.F32[i]); 107 in = psVectorSort(in, in); 108 if(in->data.F32[0] != -20.0f) { 109 psError(PS_ERR_UNKNOWN,true,"Improper self sort in[0]"); 110 return 100; 45 111 } 46 printFooter(stdout, "psVectorSort", "Create float vectors", true); 47 48 49 // Test B - Sort input float vector and put results into output float vector 50 printPositiveTestHeader(stdout,"psVectorSort", "Sort float vector"); 51 tempVec = out; 52 out = psVectorSort(out, in); 53 for(psS32 i=0; i<7; i++) { 54 printf("vec[%d] = %f\n", i, out->data.F32[i]); 112 if(in->data.F32[1] != 1.0f) { 113 psError(PS_ERR_UNKNOWN,true,"Improper self sort in[1]"); 114 return 200; 55 115 } 56 if(out != tempVec) { 57 printf("Error: Return pointer not equal to output argument pointer\n"); 116 if(in->data.F32[2] != 3.0f) { 117 psError(PS_ERR_UNKNOWN,true,"Improper self sort in[2]"); 118 return 300; 58 119 } 59 printFooter(stdout, "psVectorSort", "Sort float vector", true); 60 61 62 // Test C - Sort input float vector into itself 63 printPositiveTestHeader(stdout,"psVectorSort", "Sort input float vector into itself"); 64 in = psVectorSort(in, in); 65 for(psS32 i=0; i<7; i++) { 66 printf("vec[%d] = %f\n", i, out->data.F32[i]); 120 if(in->data.F32[3] != 5.0f) { 121 psError(PS_ERR_UNKNOWN,true,"Improper self sort in[3]"); 122 return 400; 123 } 124 if(in->data.F32[4] != 5.0f) { 125 psError(PS_ERR_UNKNOWN,true,"Improper self sort in[4]"); 126 return 500; 127 } 128 if(in->data.F32[5] != 7.0f) { 129 psError(PS_ERR_UNKNOWN,true,"Improper self sort in[5]"); 130 return 600; 131 } 132 if(in->data.F32[6] != 9.0f) { 133 psError(PS_ERR_UNKNOWN,true,"Improper self sort in[6]"); 134 return 700; 67 135 } 68 136 printFooter(stdout, "psVectorSort", "Sort input float vector into itself", true); 137 138 // Test C - Attempt to sort vector with invalid type 139 printPositiveTestHeader(stdout,"psVectorSort","Invalid vector type"); 140 in->type.type = PS_TYPE_BOOL; 141 out = psVectorAlloc(7,PS_TYPE_F32); 142 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error messgae"); 143 tempVec = psVectorSort(out,in); 144 if(tempVec != out) { 145 psError(PS_ERR_UNKNOWN,true,"Did not return the specified output vector"); 146 return 33; 147 } 148 psFree(out); 149 printFooter(stdout,"psVectorSort","Invalid vector type",true); 150 151 // Test D - Sort vector with zero elements 152 printPositiveTestHeader(stdout,"psVectorSort","Sort zero element vector"); 153 out = psVectorAlloc(7,PS_TYPE_F32); 154 tempVec = out; 155 in->n = 0; 156 out = psVectorSort(out,in); 157 if(tempVec != out) { 158 psError(PS_ERR_UNKNOWN,true,"Did not return the specified output vector"); 159 return 44; 160 } 161 if(out->n != 0) { 162 psError(PS_ERR_UNKNOWN,true,"Did not proper set the number of elements to zero"); 163 return 55; 164 } 165 printFooter(stdout,"psVectorSort","Sort zero element vector",true); 69 166 70 167 -
trunk/psLib/test/collections/verified/tst_psVectorSort_01.stderr
r1299 r2669 1 <DATE><TIME>|<HOST>|I|main 2 Following should generate an error messgae 3 <DATE><TIME>|<HOST>|E|psVectorSort (psVector.c:<LINENO>) 4 Input psVector is an unsupported type (4865). -
trunk/psLib/test/collections/verified/tst_psVectorSort_01.stdout
r1299 r2669 1 1 /***************************** TESTPOINT ******************************************\ 2 2 * TestFile: tst_psVectorSort_01.c * 3 * TestPoint: psVectorSort{ Create float vectors}*3 * TestPoint: psVectorSort{Sort all types} * 4 4 * TestType: Positive * 5 5 \**********************************************************************************/ 6 6 7 vec[0] = 7.0000008 vec[1] = 9.0000009 vec[2] = 3.00000010 vec[3] = 1.00000011 vec[4] = 5.00000012 vec[5] = 5.00000013 vec[6] = -20.00000014 7 15 ---> TESTPOINT PASSED (psVectorSort{Create float vectors} | tst_psVectorSort_01.c) 16 17 /***************************** TESTPOINT ******************************************\ 18 * TestFile: tst_psVectorSort_01.c * 19 * TestPoint: psVectorSort{Sort float vector} * 20 * TestType: Positive * 21 \**********************************************************************************/ 22 23 vec[0] = -20.000000 24 vec[1] = 1.000000 25 vec[2] = 3.000000 26 vec[3] = 5.000000 27 vec[4] = 5.000000 28 vec[5] = 7.000000 29 vec[6] = 9.000000 30 31 ---> TESTPOINT PASSED (psVectorSort{Sort float vector} | tst_psVectorSort_01.c) 8 ---> TESTPOINT PASSED (psVectorSort{Sort all types} | tst_psVectorSort_01.c) 32 9 33 10 /***************************** TESTPOINT ******************************************\ … … 37 14 \**********************************************************************************/ 38 15 39 vec[0] = -20.00000040 vec[1] = 1.00000041 vec[2] = 3.00000042 vec[3] = 5.00000043 vec[4] = 5.00000044 vec[5] = 7.00000045 vec[6] = 9.00000046 16 47 17 ---> TESTPOINT PASSED (psVectorSort{Sort input float vector into itself} | tst_psVectorSort_01.c) 18 19 /***************************** TESTPOINT ******************************************\ 20 * TestFile: tst_psVectorSort_01.c * 21 * TestPoint: psVectorSort{Invalid vector type} * 22 * TestType: Positive * 23 \**********************************************************************************/ 24 25 26 ---> TESTPOINT PASSED (psVectorSort{Invalid vector type} | tst_psVectorSort_01.c) 27 28 /***************************** TESTPOINT ******************************************\ 29 * TestFile: tst_psVectorSort_01.c * 30 * TestPoint: psVectorSort{Sort zero element vector} * 31 * TestType: Positive * 32 \**********************************************************************************/ 33 34 35 ---> TESTPOINT PASSED (psVectorSort{Sort zero element vector} | tst_psVectorSort_01.c) 48 36 49 37 /***************************** TESTPOINT ******************************************\
Note:
See TracChangeset
for help on using the changeset viewer.
