Changeset 9597
- Timestamp:
- Oct 16, 2006, 4:35:25 PM (20 years ago)
- Location:
- trunk/psLib
- Files:
-
- 3 edited
-
src/sys/psAssert.h (modified) (1 diff)
-
test/types/tap_psArray_all.c (modified) (1 diff)
-
test/types/tap_psMetadata_polynomials.c (modified) (23 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/sys/psAssert.h
r9538 r9597 13 13 #define PS_ASSERT_PTR(NAME, RVAL) \ 14 14 { \ 15 if (NAME == NULL) return(RVAL); \ 15 16 psMemBlock *mb = (psMemBlock*)(NAME) - 1; \ 16 17 if (mb->startblock != P_PS_MEMMAGIC || mb->endblock != P_PS_MEMMAGIC || \ -
trunk/psLib/test/types/tap_psArray_all.c
r9582 r9597 155 155 psArray *temp = NULL; 156 156 ok( !psArrayRemoveData(temp, s2), 157 "psArrayRemoveData: return false for NULL input psArray.");157 "psArrayRemoveData: return false for NULL input psArray."); 158 158 } 159 159 //Return true for successful removal 160 160 { 161 161 ok( psArrayRemoveData(a, s2) && a->n == 2, 162 "psArrayRemoveData: return true for successful removal.");162 "psArrayRemoveData: return true for successful removal."); 163 163 } 164 164 -
trunk/psLib/test/types/tap_psMetadata_polynomials.c
r9582 r9597 17 17 #include "pstap.h" 18 18 19 void test1Dcase(void); 19 20 void test2Dcase(void); 20 21 void test3Dcase(void); … … 23 24 int main(void) 24 25 { 25 plan_tests(58); 26 27 diag("psPolynomial(2D, 3D, & 4D)(to/from)MD tests"); 28 26 plan_tests(89); 27 28 diag("psPolynomial(1D, 2D, 3D, & 4D)(to/from)Metadata tests"); 29 30 test1Dcase(); 29 31 test2Dcase(); 30 32 test3Dcase(); … … 34 36 } 35 37 38 39 void test1Dcase(void) 40 { 41 diag(" >>>Test 1: psPolynomial1DtoMetadata & psPolynomial1DfromMetadata functions"); 42 psMetadata *md = psMetadataAlloc(); 43 psPolynomial1D *p1d = psPolynomial1DAlloc(PS_POLYNOMIAL_ORD, 1); 44 p1d->coeff[0] = 1.1; 45 p1d->coeff[1] = 2.2; 46 p1d->coeffErr[0] = 0.1; 47 p1d->coeffErr[1] = 0.2; 48 49 //psPolynomial1DtoMetadata 50 //Return a valid metadata containing a polynomial-metadata structure 51 { 52 diag ("example of 1DtoMD using the names not the sequence"); 53 54 ok( psPolynomial1DtoMetadata(md, p1d, "polyMD"), 55 "psPolynomial1DtoMetadata: return true for valid inputs."); 56 psMetadata *polyMDtemp = psMetadataLookupMetadata(NULL, md, "polyMD"); 57 skip_start( polyMDtemp == NULL , 1, 58 "Skipping 1 tests because psPolynomial1DtoMetadata has errors"); 59 60 bool status; 61 int nX = psMetadataLookupS32(&status, polyMDtemp, "NORDER_X"); 62 ok(status, 63 "psPolynomial1DtoMetadata: found NORDER_X"); 64 ok(nX == 1, 65 "psPolynomial1DtoMetadata: NORDER_X is 1"); 66 67 double val; 68 val = psMetadataLookupF64(&status, polyMDtemp, "VAL_X00"); 69 ok(status, 70 "psPolynomial1DtoMetadata: found VAL_X00"); 71 ok_double(val, 1.1, 72 "psPolynomial1DtoMetadata: VAL_X00 is %lf", val); 73 74 val = psMetadataLookupF64(&status, polyMDtemp, "VAL_X01"); 75 ok(status, 76 "psPolynomial1DtoMetadata: found VAL_X01"); 77 ok_double(val, 2.2, 78 "psPolynomial1DtoMetadata: VAL_X01 is %lf", val); 79 skip_end(); 80 } 81 82 //Return false for no-name polynomial 83 { 84 ok( !psPolynomial1DtoMetadata(md, p1d, ""), 85 "psPolynomial1DtoMetadata: return false for no-name."); 86 } 87 //Return false for NULL-name polynomial 88 { 89 ok( !psPolynomial1DtoMetadata(md, p1d, NULL), 90 "psPolynomial1DtoMetadata: return false for NULL name input."); 91 } 92 //Return false for NULL metadata input 93 { 94 ok( !psPolynomial1DtoMetadata(NULL, p1d, "polyMD"), 95 "psPolynomial1DtoMetadata: return false for NULL metadata input."); 96 } 97 //Return false for NULL polynomial input 98 { 99 ok( !psPolynomial1DtoMetadata(md, NULL, "polyMD"), 100 "psPolynomial1DtoMetadata: return false for NULL polynomial input."); 101 } 102 //Return true for polynomial with 1 element, a constant 103 { 104 psPolynomial1D *constPoly = psPolynomial1DAlloc(PS_POLYNOMIAL_ORD, 0); 105 constPoly->coeff[0] = 6.66; 106 ok( psPolynomial1DtoMetadata(md, constPoly, "polyMD"), 107 "psPolynomial1DtoMetadata: return true for constant polynomial (1 element != 0)."); 108 psFree(constPoly); 109 } 110 //Return false for non-ordinary polynomial 111 { 112 psPolynomial1D *p1d1 = psPolynomial1DAlloc(PS_POLYNOMIAL_CHEB, 1); 113 p1d1->coeff[0] = 1.1; 114 ok( !psPolynomial1DtoMetadata(md, p1d1, "polyMD"), 115 "psPolynomial1DtoMetadata: return false for chebyshev polynomial"); 116 psFree(p1d1); 117 } 118 119 //psPolynomial1DfromMetadata Tests 120 //Return NULL for NULL metadata input. 121 { 122 psPolynomial1D *emptyPoly1D = NULL; 123 emptyPoly1D = psPolynomial1DfromMetadata(NULL); 124 ok( emptyPoly1D == NULL, 125 "psPolynomial1DfromMetadata: return NULL for NULL metadata input."); 126 } 127 //Get a polynomial from Metadata. 128 psPolynomial1D *outPoly = NULL; 129 psMetadata *polyMDtemp = psMetadataLookupMetadata(NULL, md, "polyMD"); 130 outPoly = psPolynomial1DfromMetadata(polyMDtemp); 131 { 132 skip_start( outPoly == NULL, 1, 133 "Skipping 1 tests because psPolynomial1DfromMetadata has errors."); 134 ok( outPoly->type == PS_POLYNOMIAL_ORD && outPoly->nX == 1 && 135 abs(outPoly->coeff[0] - 1.1) < DBL_EPSILON, 136 "psPolynomial1DfromMetadata: return correct polynomial from metadata"); 137 skip_end(); 138 } 139 //Get a polynomial from Metadata with mask[0] == 1. 140 psFree(outPoly); 141 outPoly = NULL; 142 psPolynomial1D *maskPoly = psPolynomial1DAlloc(PS_POLYNOMIAL_ORD, 0); 143 maskPoly->coeff[0] = 6.66; 144 maskPoly->mask[0] = 1; 145 psMetadata *newmd = psMetadataAlloc(); 146 psPolynomial1DtoMetadata(newmd, maskPoly, "polyMD"); 147 psMetadata *polyMask = psMetadataLookupMetadata(NULL, newmd, "polyMD"); 148 outPoly = psPolynomial1DfromMetadata(polyMask); 149 { 150 ok( outPoly->type == PS_POLYNOMIAL_ORD && outPoly->nX == 0 && 151 outPoly->mask[0] == 1, 152 "psPolynomial1DfromMetadata: return correct polynomial (w/mask) from metadata"); 153 } 154 psFree(maskPoly); 155 psFree(newmd); 156 //Return NULL for wrong NELEMENTS 157 psMetadataItem *nElementItem = psMetadataGet(polyMDtemp, PS_LIST_TAIL); 158 nElementItem->data.S32 -= 1; 159 psFree(outPoly); 160 outPoly = NULL; 161 outPoly = psPolynomial1DfromMetadata(polyMDtemp); 162 { 163 ok( outPoly == NULL, 164 "psPolynomial1DfromMetadata: " 165 "return NULL for metadata-polynomial with wrong NELEMENTS"); 166 } 167 //Return NULL for missing NELEMENTS 168 psMetadataRemoveIndex(polyMDtemp, PS_LIST_TAIL); 169 psFree(outPoly); 170 outPoly = NULL; 171 outPoly = psPolynomial1DfromMetadata(polyMDtemp); 172 { 173 ok( outPoly == NULL, 174 "psPolynomial1DfromMetadata: " 175 "return NULL for metadata-polynomial with no NELEMENTS"); 176 } 177 178 //Return NULL for polynomial in metadata with no x-order 179 psMetadataRemoveKey(polyMDtemp, "NORDER_X"); 180 psFree(outPoly); 181 outPoly = NULL; 182 outPoly = psPolynomial1DfromMetadata(polyMDtemp); 183 { 184 ok( outPoly == NULL, 185 "psPolynomial1DfromMetadata: " 186 "return NULL for metadata-polynomial with no x-order"); 187 } 188 189 //Check for Memory leaks 190 { 191 psFree(outPoly); 192 psFree(p1d); 193 psFree(md); 194 checkMem(); 195 } 196 } 197 36 198 void test2Dcase(void) 37 199 { 38 diag(" >>>Test 1: psPolynomial2DtoMetadata & psPolynomial2DfromMetadata functions");200 diag(" >>>Test 2: psPolynomial2DtoMetadata & psPolynomial2DfromMetadata functions"); 39 201 psMetadata *md = psMetadataAlloc(); 40 202 psPolynomial2D *p2d = psPolynomial2DAlloc(PS_POLYNOMIAL_ORD, 1, 1); … … 52 214 { 53 215 ok( psPolynomial2DtoMetadata(md, p2d, "polyMD"), 54 "psPolynomial2DtoMetadata: return true for valid inputs.");216 "psPolynomial2DtoMetadata: return true for valid inputs."); 55 217 56 218 psMetadataConfigWrite (md, "test.md"); 57 219 58 ok (0, "these tests are relying on the ORDER of the MD components not the NAMES");59 ok (0, "these seem like irrelevant tests");220 //XXX ok (0, "these tests are relying on the ORDER of the MD components not the NAMES"); 221 //XXX ok (0, "these seem like irrelevant tests"); 60 222 psMetadata *polyMDtemp = psMetadataLookupMetadata(NULL, md, "polyMD"); 61 223 skip_start( polyMDtemp == NULL , 1, … … 65 227 "Skipping 2 tests because psPolynomial2DtoMetadata has errors in order elements"); 66 228 ok( !strncmp(polyItem->name, "NORDER_X", 10) && polyItem->data.S32 == 1, 67 "psPolynomial2DtoMetadata: return correct number of x orders.");229 "psPolynomial2DtoMetadata: return correct number of x orders."); 68 230 polyItem = psMetadataGet(polyMDtemp, 1); 69 231 ok( !strncmp(polyItem->name, "NORDER_Y", 10) && polyItem->data.S32 == 1, 70 "psPolynomial2DtoMetadata: return correct number of y orders.");232 "psPolynomial2DtoMetadata: return correct number of y orders."); 71 233 skip_end(); 72 234 polyItem = psMetadataGet(polyMDtemp, 2); … … 75 237 ok( !strncmp(polyItem->name, "VAL_X00_Y00", 14) && 76 238 abs(polyItem->data.F64-1.1) < DBL_EPSILON, 77 "psPolynomial2DtoMetadata: return correct first element.");78 polyItem = psMetadataGet(polyMDtemp, PS_LIST_TAIL );239 "psPolynomial2DtoMetadata: return correct first element."); 240 polyItem = psMetadataGet(polyMDtemp, PS_LIST_TAIL-1); 79 241 ok( !strncmp(polyItem->name, "ERR_X01_Y01", 14) && 80 242 abs(polyItem->data.F64-0.4) < DBL_EPSILON, 81 "psPolynomial2DtoMetadata: return correct last element.");243 "psPolynomial2DtoMetadata: return correct last element."); 82 244 skip_end(); 83 245 skip_end(); … … 90 252 91 253 ok( psPolynomial2DtoMetadata(md, p2d, "polyMD"), 92 "psPolynomial2DtoMetadata: return true for valid inputs.");254 "psPolynomial2DtoMetadata: return true for valid inputs."); 93 255 94 256 psMetadataConfigWrite (md, "test.md"); … … 101 263 bool status; 102 264 int nX = psMetadataLookupS32(&status, polyMDtemp, "NORDER_X"); 103 ok(status, "psPolynomial2DtoMetadata: found NORDER_X"); 104 ok(nX == 1, "psPolynomial2DtoMetadata: NORDER_X is 1"); 265 ok(status, 266 "psPolynomial2DtoMetadata: found NORDER_X"); 267 ok(nX == 1, 268 "psPolynomial2DtoMetadata: NORDER_X is 1"); 105 269 106 270 int nY = psMetadataLookupS32(&status, polyMDtemp, "NORDER_Y"); 107 ok(status, "psPolynomial2DtoMetadata: found NORDER_Y"); 108 ok(nY == 1, "psPolynomial2DtoMetadata: NORDER_Y is 1"); 271 ok(status, 272 "psPolynomial2DtoMetadata: found NORDER_Y"); 273 ok(nY == 1, 274 "psPolynomial2DtoMetadata: NORDER_Y is 1"); 109 275 110 276 double val; 111 277 val = psMetadataLookupF64(&status, polyMDtemp, "VAL_X00_Y00"); 112 ok(status, "psPolynomial2DtoMetadata: found VAL_X00_Y00"); 113 ok_double(val, 1.1, "psPolynomial2DtoMetadata: VAL_X00_Y00 is %lf", val); 278 ok(status, 279 "psPolynomial2DtoMetadata: found VAL_X00_Y00"); 280 ok_double(val, 1.1, 281 "psPolynomial2DtoMetadata: VAL_X00_Y00 is %lf", val); 114 282 115 283 val = psMetadataLookupF64(&status, polyMDtemp, "VAL_X01_Y01"); 116 ok(status, "psPolynomial2DtoMetadata: found VAL_X01_Y01"); 117 ok_double(val, 4.4, "psPolynomial2DtoMetadata: VAL_X01_Y01 is %lf", val); 284 ok(status, 285 "psPolynomial2DtoMetadata: found VAL_X01_Y01"); 286 ok_double(val, 4.4, 287 "psPolynomial2DtoMetadata: VAL_X01_Y01 is %lf", val); 118 288 119 289 skip_end(); … … 123 293 { 124 294 ok( !psPolynomial2DtoMetadata(md, p2d, ""), 125 "psPolynomial2DtoMetadata: return false for no-name.");295 "psPolynomial2DtoMetadata: return false for no-name."); 126 296 } 127 297 //Return false for NULL-name polynomial 128 298 { 129 299 ok( !psPolynomial2DtoMetadata(md, p2d, NULL), 130 "psPolynomial2DtoMetadata: return false for NULL name input.");300 "psPolynomial2DtoMetadata: return false for NULL name input."); 131 301 } 132 302 //Return false for NULL metadata input 133 303 { 134 304 ok( !psPolynomial2DtoMetadata(NULL, p2d, "polyMD"), 135 "psPolynomial2DtoMetadata: return false for NULL metadata input.");305 "psPolynomial2DtoMetadata: return false for NULL metadata input."); 136 306 } 137 307 //Return false for NULL polynomial input 138 308 { 139 309 ok( !psPolynomial2DtoMetadata(md, NULL, "polyMD"), 140 "psPolynomial2DtoMetadata: return false for NULL polynomial input."); 141 } 142 //Return false for empty polynomial 143 { 144 psPolynomial2D *emptyPoly = psPolynomial2DAlloc(PS_POLYNOMIAL_ORD, 0, 0); 145 ok( !psPolynomial2DtoMetadata(md, emptyPoly, "polyMD"), 146 "psPolynomial2DtoMetadata: return false for empty polynomial input."); 147 psFree(emptyPoly); 310 "psPolynomial2DtoMetadata: return false for NULL polynomial input."); 148 311 } 149 312 //Return true for polynomial with 1 element, a constant … … 184 347 skip_end(); 185 348 } 186 //Set poly->mask[1][1] = 1 for missing [1][1] element in metadata 187 psMetadataRemoveIndex(polyMDtemp, PS_LIST_TAIL-1); 349 //Get a polynomial from Metadata with mask[0][0] == 1. 350 psFree(outPoly); 351 outPoly = NULL; 352 psPolynomial2D *maskPoly = psPolynomial2DAlloc(PS_POLYNOMIAL_ORD, 0, 0); 353 maskPoly->coeff[0][0] = 6.66; 354 maskPoly->mask[0][0] = 1; 355 psMetadata *newmd = psMetadataAlloc(); 356 psPolynomial2DtoMetadata(newmd, maskPoly, "polyMD"); 357 psMetadata *polyMask = psMetadataLookupMetadata(NULL, newmd, "polyMD"); 358 outPoly = psPolynomial2DfromMetadata(polyMask); 359 { 360 ok( outPoly->type == PS_POLYNOMIAL_ORD && outPoly->nX == 0 && 361 outPoly->nY == 0 && outPoly->mask[0][0] == 1, 362 "psPolynomial2DfromMetadata: return correct polynomial (w/mask) from metadata"); 363 } 364 psFree(maskPoly); 365 psFree(newmd); 366 //Return NULL for wrong NELEMENTS 367 psMetadataItem *nElementItem = psMetadataGet(polyMDtemp, PS_LIST_TAIL); 368 nElementItem->data.S32 -= 1; 188 369 psFree(outPoly); 189 370 outPoly = NULL; 190 371 outPoly = psPolynomial2DfromMetadata(polyMDtemp); 191 372 { 192 // ok( outPoly->mask[1][1] == 1, 193 // "psPolynomial2DfromMetadata: return mask[1][1] == 1 for metadata-polynomial", 194 // " with missing element"); 195 ok( outPoly == NULL, 196 "psPolynomial2DfromMetadata: return NULL for polynomial with missing coeff"); 197 } 373 ok( outPoly == NULL, 374 "psPolynomial2DfromMetadata: " 375 "return NULL for metadata-polynomial with wrong NELEMENTS"); 376 } 377 //Return NULL for missing NELEMENTS 378 psMetadataRemoveIndex(polyMDtemp, PS_LIST_TAIL); 379 psFree(outPoly); 380 outPoly = NULL; 381 outPoly = psPolynomial2DfromMetadata(polyMDtemp); 382 { 383 ok( outPoly == NULL, 384 "psPolynomial2DfromMetadata: " 385 "return NULL for metadata-polynomial with no NELEMENTS"); 386 } 387 198 388 //Return NULL for polynomial in metadata with no y-order 199 389 psMetadataRemoveKey(polyMDtemp, "NORDER_Y"); 390 psFree(outPoly); 391 outPoly = NULL; 200 392 outPoly = psPolynomial2DfromMetadata(polyMDtemp); 201 393 { 202 394 ok( outPoly == NULL, 203 "psPolynomial2DfromMetadata: return NULL for metadata-polynomial with no y-order"); 395 "psPolynomial2DfromMetadata: " 396 "return NULL for metadata-polynomial with no y-order"); 204 397 } 205 398 //Return NULL for polynomial in metadata with no x-order 206 399 psMetadataRemoveKey(polyMDtemp, "NORDER_X"); 400 psFree(outPoly); 401 outPoly = NULL; 207 402 outPoly = psPolynomial2DfromMetadata(polyMDtemp); 208 403 { 209 404 ok( outPoly == NULL, 210 "psPolynomial2DfromMetadata: return NULL for metadata-polynomial with no x-order"); 405 "psPolynomial2DfromMetadata: " 406 "return NULL for metadata-polynomial with no x-order"); 211 407 } 212 408 … … 222 418 void test3Dcase(void) 223 419 { 224 diag(" >>>Test 2: psPolynomial3DtoMetadata & psPolynomial3DfromMetadata functions");420 diag(" >>>Test 3: psPolynomial3DtoMetadata & psPolynomial3DfromMetadata functions"); 225 421 psMetadata *md = psMetadataAlloc(); 226 422 psPolynomial3D *p3d = psPolynomial3DAlloc(PS_POLYNOMIAL_ORD, 1, 1, 1); … … 268 464 abs(polyItem->data.F64-1.1) < DBL_EPSILON, 269 465 "psPolynomial3DtoMetadata: return correct first element."); 270 polyItem = psMetadataGet(polyMDtemp, PS_LIST_TAIL );466 polyItem = psMetadataGet(polyMDtemp, PS_LIST_TAIL-1); 271 467 ok( !strncmp(polyItem->name, "ERR_X01_Y01_Z01", 14) && 272 468 abs(polyItem->data.F64-0.8) < DBL_EPSILON, … … 295 491 "psPolynomial3DtoMetadata: return false for NULL polynomial input."); 296 492 } 297 //Return false for empty polynomial 298 { 299 psPolynomial3D *emptyPoly = psPolynomial3DAlloc(PS_POLYNOMIAL_ORD, 0, 0, 0); 300 ok( !psPolynomial3DtoMetadata(md, emptyPoly, "polyMD"), 301 "psPolynomial3DtoMetadata: return false for empty polynomial input."); 302 psFree(emptyPoly); 303 } 493 /* //Return false for empty polynomial 494 { 495 psPolynomial3D *emptyPoly = psPolynomial3DAlloc(PS_POLYNOMIAL_ORD, 0, 0, 0); 496 ok( !psPolynomial3DtoMetadata(md, emptyPoly, "polyMD"), 497 "psPolynomial3DtoMetadata: return false for empty polynomial input."); 498 psFree(emptyPoly); 499 } 500 */ 304 501 //Return true for polynomial with 1 element, a constant 305 502 { … … 340 537 skip_end(); 341 538 } 342 //Return NULL for polynomial with missing coefficient 343 psMetadataRemoveIndex(polyMDtemp, PS_LIST_TAIL-1); 539 540 //Get a polynomial from Metadata with mask[0][0][0] == 1. 541 psFree(outPoly); 542 outPoly = NULL; 543 psPolynomial3D *maskPoly = psPolynomial3DAlloc(PS_POLYNOMIAL_ORD, 0, 0, 0); 544 maskPoly->coeff[0][0][0] = 6.66; 545 maskPoly->mask[0][0][0] = 1; 546 psMetadata *newmd = psMetadataAlloc(); 547 psPolynomial3DtoMetadata(newmd, maskPoly, "polyMD"); 548 psMetadata *polyMask = psMetadataLookupMetadata(NULL, newmd, "polyMD"); 549 outPoly = psPolynomial3DfromMetadata(polyMask); 550 { 551 ok( outPoly->type == PS_POLYNOMIAL_ORD && outPoly->nX == 0 && outPoly->nY == 0 552 && outPoly->nZ == 0 && outPoly->mask[0][0][0] == 1, 553 "psPolynomial3DfromMetadata: return correct polynomial (w/mask) from metadata"); 554 } 555 psFree(maskPoly); 556 psFree(newmd); 557 //Return NULL for wrong NELEMENTS 558 psMetadataItem *nElementItem = psMetadataGet(polyMDtemp, PS_LIST_TAIL); 559 nElementItem->data.S32 -= 1; 344 560 psFree(outPoly); 345 561 outPoly = NULL; 346 562 outPoly = psPolynomial3DfromMetadata(polyMDtemp); 347 563 { 348 // ok( outPoly->mask[1][1][1] == 1, 349 // "psPolynomial3DfromMetadata: return mask[1][1][1] == 1 for metadata-polynomial" 350 // " with missing element"); 351 ok( outPoly == NULL, 352 "psPolynomial3DfromMetadata: return NULL for polynomial with missing coeff"); 353 } 564 ok( outPoly == NULL, 565 "psPolynomial3DfromMetadata: " 566 "return NULL for metadata-polynomial with wrong NELEMENTS"); 567 } 568 //Return NULL for missing NELEMENTS 569 psMetadataRemoveIndex(polyMDtemp, PS_LIST_TAIL); 570 psFree(outPoly); 571 outPoly = NULL; 572 outPoly = psPolynomial3DfromMetadata(polyMDtemp); 573 { 574 ok( outPoly == NULL, 575 "psPolynomial3DfromMetadata: " 576 "return NULL for metadata-polynomial with no NELEMENTS"); 577 } 578 354 579 //Return NULL for polynomial in metadata with no z-order 355 580 psMetadataRemoveKey(polyMDtemp, "NORDER_Z"); 581 psFree(outPoly); 582 outPoly = NULL; 356 583 outPoly = psPolynomial3DfromMetadata(polyMDtemp); 357 584 { … … 361 588 //Return NULL for polynomial in metadata with no y-order 362 589 psMetadataRemoveKey(polyMDtemp, "NORDER_Y"); 590 psFree(outPoly); 591 outPoly = NULL; 363 592 outPoly = psPolynomial3DfromMetadata(polyMDtemp); 364 593 { … … 368 597 //Return NULL for polynomial in metadata with no x-order 369 598 psMetadataRemoveKey(polyMDtemp, "NORDER_X"); 599 psFree(outPoly); 600 outPoly = NULL; 370 601 outPoly = psPolynomial3DfromMetadata(polyMDtemp); 371 602 { … … 385 616 void test4Dcase(void) 386 617 { 387 diag(" >>>Test 3: psPolynomial4DtoMetadata & psPolynomial4DfromMetadata functions");618 diag(" >>>Test 4: psPolynomial4DtoMetadata & psPolynomial4DfromMetadata functions"); 388 619 psMetadata *md = psMetadataAlloc(); 389 620 psPolynomial4D *p4d = psPolynomial4DAlloc(PS_POLYNOMIAL_ORD, 1, 1, 1, 1); … … 457 688 abs(polyItem->data.F64-1.1) < DBL_EPSILON, 458 689 "psPolynomial4DtoMetadata: return correct first element."); 459 polyItem = psMetadataGet(polyMDtemp, PS_LIST_TAIL );690 polyItem = psMetadataGet(polyMDtemp, PS_LIST_TAIL-1); 460 691 ok( !strncmp(polyItem->name, "ERR_X01_Y01_Z01_T01", 14) && 461 692 abs(polyItem->data.F64-0.16) < DBL_EPSILON, … … 484 715 "psPolynomial4DtoMetadata: return false for NULL polynomial input."); 485 716 } 486 //Return false for empty polynomial 487 { 488 psPolynomial4D *emptyPoly = psPolynomial4DAlloc(PS_POLYNOMIAL_ORD, 0, 0, 0, 0); 489 ok( !psPolynomial4DtoMetadata(md, emptyPoly, "polyMD"), 490 "psPolynomial4DtoMetadata: return false for empty polynomial input."); 491 psFree(emptyPoly); 492 } 717 /* //Return false for empty polynomial 718 { 719 psPolynomial4D *emptyPoly = psPolynomial4DAlloc(PS_POLYNOMIAL_ORD, 0, 0, 0, 0); 720 ok( !psPolynomial4DtoMetadata(md, emptyPoly, "polyMD"), 721 "psPolynomial4DtoMetadata: return false for empty polynomial input."); 722 psFree(emptyPoly); 723 } 724 */ 493 725 //Return true for polynomial with 1 element, a constant 494 726 { … … 529 761 skip_end(); 530 762 } 531 //Return NULL for polynomial with missing coefficient 532 psMetadataRemoveIndex(polyMDtemp, PS_LIST_TAIL-1); 763 //Get a polynomial from Metadata with mask[0][0][0][0] == 1. 764 psFree(outPoly); 765 outPoly = NULL; 766 psPolynomial4D *maskPoly = psPolynomial4DAlloc(PS_POLYNOMIAL_ORD, 0, 0, 0, 0); 767 maskPoly->coeff[0][0][0][0] = 6.66; 768 maskPoly->mask[0][0][0][0] = 1; 769 psMetadata *newmd = psMetadataAlloc(); 770 psPolynomial4DtoMetadata(newmd, maskPoly, "polyMD"); 771 psMetadata *polyMask = psMetadataLookupMetadata(NULL, newmd, "polyMD"); 772 outPoly = psPolynomial4DfromMetadata(polyMask); 773 { 774 ok( outPoly->type == PS_POLYNOMIAL_ORD && outPoly->nX == 0 && outPoly->nY == 0 775 && outPoly->nZ == 0 && outPoly->nT == 0 && outPoly->mask[0][0][0][0] == 1, 776 "psPolynomial4DfromMetadata: return correct polynomial (w/mask) from metadata"); 777 } 778 psFree(maskPoly); 779 psFree(newmd); 780 //Return NULL for wrong NELEMENTS 781 psMetadataItem *nElementItem = psMetadataGet(polyMDtemp, PS_LIST_TAIL); 782 nElementItem->data.S32 -= 1; 533 783 psFree(outPoly); 534 784 outPoly = NULL; 535 785 outPoly = psPolynomial4DfromMetadata(polyMDtemp); 536 786 { 537 // ok( outPoly->mask[1][1][1] == 1, 538 // "psPolynomial4DfromMetadata: return mask[1][1][1] == 1 for metadata-polynomial" 539 // " with missing element"); 540 ok( outPoly == NULL, 541 "psPolynomial4DfromMetadata: return NULL for polynomial with missing coeff"); 542 } 787 ok( outPoly == NULL, 788 "psPolynomial4DfromMetadata: " 789 "return NULL for metadata-polynomial with wrong NELEMENTS"); 790 } 791 //Return NULL for missing NELEMENTS 792 psMetadataRemoveIndex(polyMDtemp, PS_LIST_TAIL); 793 psFree(outPoly); 794 outPoly = NULL; 795 outPoly = psPolynomial4DfromMetadata(polyMDtemp); 796 { 797 ok( outPoly == NULL, 798 "psPolynomial4DfromMetadata: " 799 "return NULL for metadata-polynomial with no NELEMENTS"); 800 } 801 543 802 //Return NULL for polynomial in metadata with no t-order 544 803 psMetadataRemoveKey(polyMDtemp, "NORDER_T"); 804 psFree(outPoly); 805 outPoly = NULL; 545 806 outPoly = psPolynomial4DfromMetadata(polyMDtemp); 546 807 { … … 550 811 //Return NULL for polynomial in metadata with no z-order 551 812 psMetadataRemoveKey(polyMDtemp, "NORDER_Z"); 813 psFree(outPoly); 814 outPoly = NULL; 552 815 outPoly = psPolynomial4DfromMetadata(polyMDtemp); 553 816 { … … 557 820 //Return NULL for polynomial in metadata with no y-order 558 821 psMetadataRemoveKey(polyMDtemp, "NORDER_Y"); 822 psFree(outPoly); 823 outPoly = NULL; 559 824 outPoly = psPolynomial4DfromMetadata(polyMDtemp); 560 825 { … … 564 829 //Return NULL for polynomial in metadata with no x-order 565 830 psMetadataRemoveKey(polyMDtemp, "NORDER_X"); 831 psFree(outPoly); 832 outPoly = NULL; 566 833 outPoly = psPolynomial4DfromMetadata(polyMDtemp); 567 834 {
Note:
See TracChangeset
for help on using the changeset viewer.
