VectorSequenceFactoriesTest.c

Go to the documentation of this file.
00001 /*************** <lalVerbatim file="VectorSequenceFactoriesTestCV"> ****
00002 $Id: VectorSequenceFactoriesTest.m4,v 1.7 2001/03/04 22:37:11 jolien Exp $
00003 **************** </lalVerbatim> ****************************************/
00004 
00005 /* <lalLaTeX>
00006 
00007 \subsection{Program \texttt{VectorSequenceFactoriesTest.c}}
00008 \label{ss:VectorSequenceFactoriesTest.c}
00009 
00010 A program to test create/destroy vector sequence routines.
00011 
00012 \subsubsection*{Usage}
00013 \begin{verbatim}
00014 VectorSequenceFactoriesTest [options]
00015 Options:
00016   -h         print help
00017   -q         quiet: run silently
00018   -v         verbose: print extra information
00019   -d level   set lalDebugLevel to level
00020 \end{verbatim}
00021 
00022 \subsubsection*{Description}
00023 
00024 \subsubsection*{Exit codes}
00025 \begin{tabular}{|c|l|}
00026 \hline
00027  Code & Explanation                   \\
00028 \hline
00029 \tt 0 & Success, normal exit.         \\
00030 \tt 1 & Subroutine failed.            \\
00031 \hline
00032 \end{tabular}
00033 
00034 \subsubsection*{Algorithm}
00035 
00036 \subsubsection*{Uses}
00037 \begin{verbatim}
00038 lalDebugLevel
00039 TYPECODECreateVectorSequence()
00040 TYPECODEDestroyVectorSequence()
00041 \end{verbatim}
00042 
00043 \subsubsection*{Notes}
00044 
00045 \vfill{\footnotesize\input{VectorSequenceFactoriesTestCV}}
00046 
00047 </lalLaTeX> */
00048 
00049 #include <stdlib.h>
00050 #include <stdio.h>
00051 #include <string.h>
00052 
00053 #include <lal/LALConfig.h>
00054 
00055 #ifdef HAVE_UNISTD_H
00056 #include <unistd.h>
00057 #endif
00058 
00059 #ifdef HAVE_GETOPT_H
00060 #include <getopt.h>
00061 #endif
00062 
00063 #include <lal/LALStdlib.h>
00064 #include <lal/SeqFactories.h>
00065 
00066 #define CODES_(x) #x
00067 #define CODES(x) CODES_(x)
00068 
00069 NRCSID( MAIN, "$Id: VectorSequenceFactoriesTest.m4,v 1.7 2001/03/04 22:37:11 jolien Exp $" );
00070 
00071 extern char *optarg;
00072 extern int   optind;
00073 
00074 int lalDebugLevel = 0;
00075 int verbose    = 0;
00076 
00077 static void
00078 Usage (const char *program, int exitflag);
00079 
00080 static void
00081 ParseOptions (int argc, char *argv[]);
00082 
00083 static void
00084 TestStatus (LALStatus *status, const char *expectedCodes, int exitCode);
00085 
00086 static void
00087 ClearStatus (LALStatus *status);
00088 
00089 
00090 
00091 
00092 
00093 
00094 
00095 
00096 
00097 
00098 
00099 
00100 
00101 
00102 
00103 
00104 
00105 
00106 
00107 
00108 static void ZVectorSequenceFactoriesTest ( void )
00109 {
00110   CreateVectorSequenceIn input   = { 2, 8 };
00111   CreateVectorSequenceIn badslen = { 0, 8 };
00112   CreateVectorSequenceIn badvlen = { 2, 0 };
00113   static LALStatus  status;
00114   static COMPLEX16VectorSequence  *sequence;
00115   static COMPLEX16VectorSequence   sstore;
00116 
00117 
00118   /*
00119    *
00120    * Test ordinary behavior.
00121    *
00122    */
00123 
00124 
00125   LALZCreateVectorSequence ( &status, &sequence, &input );
00126   TestStatus( &status, CODES( 0 ), 1 );
00127 
00128   memset( sequence->data, 0, input.length*input.vectorLength*sizeof( COMPLEX16 ) );
00129 
00130   LALZDestroyVectorSequence ( &status, &sequence );
00131   TestStatus( &status, CODES( 0 ), 1 );
00132 
00133   LALCheckMemoryLeaks();
00134 
00135 
00136   /*
00137    *
00138    * Test error codes.
00139    *
00140    */
00141 
00142 #ifndef LAL_NDEBUG
00143 
00144   if ( ! lalNoDebug )
00145   {
00146     LALZCreateVectorSequence ( &status, &sequence, &badslen );
00147     TestStatus( &status, CODES( SEQFACTORIESH_ESLENGTH ), 1 );
00148 
00149     LALZCreateVectorSequence ( &status, &sequence, &badvlen );
00150     TestStatus( &status, CODES( SEQFACTORIESH_EVLENGTH ), 1 );
00151 
00152     LALZCreateVectorSequence ( &status, &sequence, NULL );
00153     TestStatus( &status, CODES( SEQFACTORIESH_EINPTR ), 1 );
00154 
00155     LALZDestroyVectorSequence ( &status, NULL );
00156     TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00157 
00158     LALZCreateVectorSequence ( &status, NULL, &input );
00159     TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00160 
00161     LALZDestroyVectorSequence ( &status, &sequence );
00162     TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00163 
00164     sequence = &sstore;
00165     LALZCreateVectorSequence ( &status, &sequence, &input );
00166     TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00167 
00168     LALZDestroyVectorSequence ( &status, &sequence );
00169     TestStatus( &status, CODES( SEQFACTORIESH_EDPTR ), 1 );
00170   }
00171 
00172 #else
00173   badslen.length = 0;
00174   badvlen.vectorLength = 0;
00175   sequence = &sstore;
00176 #endif
00177 
00178   LALCheckMemoryLeaks();
00179   printf( "PASS: tests of LALZCreateVectorSequence and LALZDestroyVectorSequence \n" );
00180           
00181   return;
00182 }
00183 
00184 
00185 
00186 
00187 
00188 
00189 
00190 
00191 
00192 
00193 
00194 
00195 
00196 
00197 
00198 
00199 
00200 
00201 
00202 
00203 
00204 static void CVectorSequenceFactoriesTest ( void )
00205 {
00206   CreateVectorSequenceIn input   = { 2, 8 };
00207   CreateVectorSequenceIn badslen = { 0, 8 };
00208   CreateVectorSequenceIn badvlen = { 2, 0 };
00209   static LALStatus  status;
00210   static COMPLEX8VectorSequence  *sequence;
00211   static COMPLEX8VectorSequence   sstore;
00212 
00213 
00214   /*
00215    *
00216    * Test ordinary behavior.
00217    *
00218    */
00219 
00220 
00221   LALCCreateVectorSequence ( &status, &sequence, &input );
00222   TestStatus( &status, CODES( 0 ), 1 );
00223 
00224   memset( sequence->data, 0, input.length*input.vectorLength*sizeof( COMPLEX8 ) );
00225 
00226   LALCDestroyVectorSequence ( &status, &sequence );
00227   TestStatus( &status, CODES( 0 ), 1 );
00228 
00229   LALCheckMemoryLeaks();
00230 
00231 
00232   /*
00233    *
00234    * Test error codes.
00235    *
00236    */
00237 
00238 #ifndef LAL_NDEBUG
00239 
00240   if ( ! lalNoDebug )
00241   {
00242     LALCCreateVectorSequence ( &status, &sequence, &badslen );
00243     TestStatus( &status, CODES( SEQFACTORIESH_ESLENGTH ), 1 );
00244 
00245     LALCCreateVectorSequence ( &status, &sequence, &badvlen );
00246     TestStatus( &status, CODES( SEQFACTORIESH_EVLENGTH ), 1 );
00247 
00248     LALCCreateVectorSequence ( &status, &sequence, NULL );
00249     TestStatus( &status, CODES( SEQFACTORIESH_EINPTR ), 1 );
00250 
00251     LALCDestroyVectorSequence ( &status, NULL );
00252     TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00253 
00254     LALCCreateVectorSequence ( &status, NULL, &input );
00255     TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00256 
00257     LALCDestroyVectorSequence ( &status, &sequence );
00258     TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00259 
00260     sequence = &sstore;
00261     LALCCreateVectorSequence ( &status, &sequence, &input );
00262     TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00263 
00264     LALCDestroyVectorSequence ( &status, &sequence );
00265     TestStatus( &status, CODES( SEQFACTORIESH_EDPTR ), 1 );
00266   }
00267 
00268 #else
00269   badslen.length = 0;
00270   badvlen.vectorLength = 0;
00271   sequence = &sstore;
00272 #endif
00273 
00274   LALCheckMemoryLeaks();
00275   printf( "PASS: tests of LALCCreateVectorSequence and LALCDestroyVectorSequence \n" );
00276           
00277   return;
00278 }
00279 
00280 
00281 
00282 
00283 
00284 
00285 
00286 
00287 
00288 
00289 
00290 
00291 
00292 
00293 
00294 
00295 
00296 
00297 
00298 
00299 
00300 static void DVectorSequenceFactoriesTest ( void )
00301 {
00302   CreateVectorSequenceIn input   = { 2, 8 };
00303   CreateVectorSequenceIn badslen = { 0, 8 };
00304   CreateVectorSequenceIn badvlen = { 2, 0 };
00305   static LALStatus  status;
00306   static REAL8VectorSequence  *sequence;
00307   static REAL8VectorSequence   sstore;
00308 
00309 
00310   /*
00311    *
00312    * Test ordinary behavior.
00313    *
00314    */
00315 
00316 
00317   LALDCreateVectorSequence ( &status, &sequence, &input );
00318   TestStatus( &status, CODES( 0 ), 1 );
00319 
00320   memset( sequence->data, 0, input.length*input.vectorLength*sizeof( REAL8 ) );
00321 
00322   LALDDestroyVectorSequence ( &status, &sequence );
00323   TestStatus( &status, CODES( 0 ), 1 );
00324 
00325   LALCheckMemoryLeaks();
00326 
00327 
00328   /*
00329    *
00330    * Test error codes.
00331    *
00332    */
00333 
00334 #ifndef LAL_NDEBUG
00335 
00336   if ( ! lalNoDebug )
00337   {
00338     LALDCreateVectorSequence ( &status, &sequence, &badslen );
00339     TestStatus( &status, CODES( SEQFACTORIESH_ESLENGTH ), 1 );
00340 
00341     LALDCreateVectorSequence ( &status, &sequence, &badvlen );
00342     TestStatus( &status, CODES( SEQFACTORIESH_EVLENGTH ), 1 );
00343 
00344     LALDCreateVectorSequence ( &status, &sequence, NULL );
00345     TestStatus( &status, CODES( SEQFACTORIESH_EINPTR ), 1 );
00346 
00347     LALDDestroyVectorSequence ( &status, NULL );
00348     TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00349 
00350     LALDCreateVectorSequence ( &status, NULL, &input );
00351     TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00352 
00353     LALDDestroyVectorSequence ( &status, &sequence );
00354     TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00355 
00356     sequence = &sstore;
00357     LALDCreateVectorSequence ( &status, &sequence, &input );
00358     TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00359 
00360     LALDDestroyVectorSequence ( &status, &sequence );
00361     TestStatus( &status, CODES( SEQFACTORIESH_EDPTR ), 1 );
00362   }
00363 
00364 #else
00365   badslen.length = 0;
00366   badvlen.vectorLength = 0;
00367   sequence = &sstore;
00368 #endif
00369 
00370   LALCheckMemoryLeaks();
00371   printf( "PASS: tests of LALDCreateVectorSequence and LALDDestroyVectorSequence \n" );
00372           
00373   return;
00374 }
00375 
00376 
00377 
00378 
00379 
00380 
00381 
00382 
00383 
00384 
00385 
00386 
00387 
00388 
00389 
00390 
00391 
00392 
00393 
00394 
00395 
00396 static void SVectorSequenceFactoriesTest ( void )
00397 {
00398   CreateVectorSequenceIn input   = { 2, 8 };
00399   CreateVectorSequenceIn badslen = { 0, 8 };
00400   CreateVectorSequenceIn badvlen = { 2, 0 };
00401   static LALStatus  status;
00402   static REAL4VectorSequence  *sequence;
00403   static REAL4VectorSequence   sstore;
00404 
00405 
00406   /*
00407    *
00408    * Test ordinary behavior.
00409    *
00410    */
00411 
00412 
00413   LALSCreateVectorSequence ( &status, &sequence, &input );
00414   TestStatus( &status, CODES( 0 ), 1 );
00415 
00416   memset( sequence->data, 0, input.length*input.vectorLength*sizeof( REAL4 ) );
00417 
00418   LALSDestroyVectorSequence ( &status, &sequence );
00419   TestStatus( &status, CODES( 0 ), 1 );
00420 
00421   LALCheckMemoryLeaks();
00422 
00423 
00424   /*
00425    *
00426    * Test error codes.
00427    *
00428    */
00429 
00430 #ifndef LAL_NDEBUG
00431 
00432   if ( ! lalNoDebug )
00433   {
00434     LALSCreateVectorSequence ( &status, &sequence, &badslen );
00435     TestStatus( &status, CODES( SEQFACTORIESH_ESLENGTH ), 1 );
00436 
00437     LALSCreateVectorSequence ( &status, &sequence, &badvlen );
00438     TestStatus( &status, CODES( SEQFACTORIESH_EVLENGTH ), 1 );
00439 
00440     LALSCreateVectorSequence ( &status, &sequence, NULL );
00441     TestStatus( &status, CODES( SEQFACTORIESH_EINPTR ), 1 );
00442 
00443     LALSDestroyVectorSequence ( &status, NULL );
00444     TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00445 
00446     LALSCreateVectorSequence ( &status, NULL, &input );
00447     TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00448 
00449     LALSDestroyVectorSequence ( &status, &sequence );
00450     TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00451 
00452     sequence = &sstore;
00453     LALSCreateVectorSequence ( &status, &sequence, &input );
00454     TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00455 
00456     LALSDestroyVectorSequence ( &status, &sequence );
00457     TestStatus( &status, CODES( SEQFACTORIESH_EDPTR ), 1 );
00458   }
00459 
00460 #else
00461   badslen.length = 0;
00462   badvlen.vectorLength = 0;
00463   sequence = &sstore;
00464 #endif
00465 
00466   LALCheckMemoryLeaks();
00467   printf( "PASS: tests of LALSCreateVectorSequence and LALSDestroyVectorSequence \n" );
00468           
00469   return;
00470 }
00471 
00472 
00473 
00474 
00475 
00476 
00477 
00478 
00479 
00480 
00481 
00482 
00483 
00484 
00485 
00486 
00487 
00488 
00489 
00490 
00491 
00492 static void I2VectorSequenceFactoriesTest ( void )
00493 {
00494   CreateVectorSequenceIn input   = { 2, 8 };
00495   CreateVectorSequenceIn badslen = { 0, 8 };
00496   CreateVectorSequenceIn badvlen = { 2, 0 };
00497   static LALStatus  status;
00498   static INT2VectorSequence  *sequence;
00499   static INT2VectorSequence   sstore;
00500 
00501 
00502   /*
00503    *
00504    * Test ordinary behavior.
00505    *
00506    */
00507 
00508 
00509   LALI2CreateVectorSequence ( &status, &sequence, &input );
00510   TestStatus( &status, CODES( 0 ), 1 );
00511 
00512   memset( sequence->data, 0, input.length*input.vectorLength*sizeof( INT2 ) );
00513 
00514   LALI2DestroyVectorSequence ( &status, &sequence );
00515   TestStatus( &status, CODES( 0 ), 1 );
00516 
00517   LALCheckMemoryLeaks();
00518 
00519 
00520   /*
00521    *
00522    * Test error codes.
00523    *
00524    */
00525 
00526 #ifndef LAL_NDEBUG
00527 
00528   if ( ! lalNoDebug )
00529   {
00530     LALI2CreateVectorSequence ( &status, &sequence, &badslen );
00531     TestStatus( &status, CODES( SEQFACTORIESH_ESLENGTH ), 1 );
00532 
00533     LALI2CreateVectorSequence ( &status, &sequence, &badvlen );
00534     TestStatus( &status, CODES( SEQFACTORIESH_EVLENGTH ), 1 );
00535 
00536     LALI2CreateVectorSequence ( &status, &sequence, NULL );
00537     TestStatus( &status, CODES( SEQFACTORIESH_EINPTR ), 1 );
00538 
00539     LALI2DestroyVectorSequence ( &status, NULL );
00540     TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00541 
00542     LALI2CreateVectorSequence ( &status, NULL, &input );
00543     TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00544 
00545     LALI2DestroyVectorSequence ( &status, &sequence );
00546     TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00547 
00548     sequence = &sstore;
00549     LALI2CreateVectorSequence ( &status, &sequence, &input );
00550     TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00551 
00552     LALI2DestroyVectorSequence ( &status, &sequence );
00553     TestStatus( &status, CODES( SEQFACTORIESH_EDPTR ), 1 );
00554   }
00555 
00556 #else
00557   badslen.length = 0;
00558   badvlen.vectorLength = 0;
00559   sequence = &sstore;
00560 #endif
00561 
00562   LALCheckMemoryLeaks();
00563   printf( "PASS: tests of LALI2CreateVectorSequence and LALI2DestroyVectorSequence \n" );
00564           
00565   return;
00566 }
00567 
00568 
00569 
00570 
00571 
00572 
00573 
00574 
00575 
00576 
00577 
00578 
00579 
00580 
00581 
00582 
00583 
00584 
00585 
00586 
00587 
00588 static void I4VectorSequenceFactoriesTest ( void )
00589 {
00590   CreateVectorSequenceIn input   = { 2, 8 };
00591   CreateVectorSequenceIn badslen = { 0, 8 };
00592   CreateVectorSequenceIn badvlen = { 2, 0 };
00593   static LALStatus  status;
00594   static INT4VectorSequence  *sequence;
00595   static INT4VectorSequence   sstore;
00596 
00597 
00598   /*
00599    *
00600    * Test ordinary behavior.
00601    *
00602    */
00603 
00604 
00605   LALI4CreateVectorSequence ( &status, &sequence, &input );
00606   TestStatus( &status, CODES( 0 ), 1 );
00607 
00608   memset( sequence->data, 0, input.length*input.vectorLength*sizeof( INT4 ) );
00609 
00610   LALI4DestroyVectorSequence ( &status, &sequence );
00611   TestStatus( &status, CODES( 0 ), 1 );
00612 
00613   LALCheckMemoryLeaks();
00614 
00615 
00616   /*
00617    *
00618    * Test error codes.
00619    *
00620    */
00621 
00622 #ifndef LAL_NDEBUG
00623 
00624   if ( ! lalNoDebug )
00625   {
00626     LALI4CreateVectorSequence ( &status, &sequence, &badslen );
00627     TestStatus( &status, CODES( SEQFACTORIESH_ESLENGTH ), 1 );
00628 
00629     LALI4CreateVectorSequence ( &status, &sequence, &badvlen );
00630     TestStatus( &status, CODES( SEQFACTORIESH_EVLENGTH ), 1 );
00631 
00632     LALI4CreateVectorSequence ( &status, &sequence, NULL );
00633     TestStatus( &status, CODES( SEQFACTORIESH_EINPTR ), 1 );
00634 
00635     LALI4DestroyVectorSequence ( &status, NULL );
00636     TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00637 
00638     LALI4CreateVectorSequence ( &status, NULL, &input );
00639     TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00640 
00641     LALI4DestroyVectorSequence ( &status, &sequence );
00642     TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00643 
00644     sequence = &sstore;
00645     LALI4CreateVectorSequence ( &status, &sequence, &input );
00646     TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00647 
00648     LALI4DestroyVectorSequence ( &status, &sequence );
00649     TestStatus( &status, CODES( SEQFACTORIESH_EDPTR ), 1 );
00650   }
00651 
00652 #else
00653   badslen.length = 0;
00654   badvlen.vectorLength = 0;
00655   sequence = &sstore;
00656 #endif
00657 
00658   LALCheckMemoryLeaks();
00659   printf( "PASS: tests of LALI4CreateVectorSequence and LALI4DestroyVectorSequence \n" );
00660           
00661   return;
00662 }
00663 
00664 
00665 
00666 
00667 
00668 
00669 
00670 
00671 
00672 
00673 
00674 
00675 
00676 
00677 
00678 
00679 
00680 
00681 
00682 
00683 
00684 static void I8VectorSequenceFactoriesTest ( void )
00685 {
00686   CreateVectorSequenceIn input   = { 2, 8 };
00687   CreateVectorSequenceIn badslen = { 0, 8 };
00688   CreateVectorSequenceIn badvlen = { 2, 0 };
00689   static LALStatus  status;
00690   static INT8VectorSequence  *sequence;
00691   static INT8VectorSequence   sstore;
00692 
00693 
00694   /*
00695    *
00696    * Test ordinary behavior.
00697    *
00698    */
00699 
00700 
00701   LALI8CreateVectorSequence ( &status, &sequence, &input );
00702   TestStatus( &status, CODES( 0 ), 1 );
00703 
00704   memset( sequence->data, 0, input.length*input.vectorLength*sizeof( INT8 ) );
00705 
00706   LALI8DestroyVectorSequence ( &status, &sequence );
00707   TestStatus( &status, CODES( 0 ), 1 );
00708 
00709   LALCheckMemoryLeaks();
00710 
00711 
00712   /*
00713    *
00714    * Test error codes.
00715    *
00716    */
00717 
00718 #ifndef LAL_NDEBUG
00719 
00720   if ( ! lalNoDebug )
00721   {
00722     LALI8CreateVectorSequence ( &status, &sequence, &badslen );
00723     TestStatus( &status, CODES( SEQFACTORIESH_ESLENGTH ), 1 );
00724 
00725     LALI8CreateVectorSequence ( &status, &sequence, &badvlen );
00726     TestStatus( &status, CODES( SEQFACTORIESH_EVLENGTH ), 1 );
00727 
00728     LALI8CreateVectorSequence ( &status, &sequence, NULL );
00729     TestStatus( &status, CODES( SEQFACTORIESH_EINPTR ), 1 );
00730 
00731     LALI8DestroyVectorSequence ( &status, NULL );
00732     TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00733 
00734     LALI8CreateVectorSequence ( &status, NULL, &input );
00735     TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00736 
00737     LALI8DestroyVectorSequence ( &status, &sequence );
00738     TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00739 
00740     sequence = &sstore;
00741     LALI8CreateVectorSequence ( &status, &sequence, &input );
00742     TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00743 
00744     LALI8DestroyVectorSequence ( &status, &sequence );
00745     TestStatus( &status, CODES( SEQFACTORIESH_EDPTR ), 1 );
00746   }
00747 
00748 #else
00749   badslen.length = 0;
00750   badvlen.vectorLength = 0;
00751   sequence = &sstore;
00752 #endif
00753 
00754   LALCheckMemoryLeaks();
00755   printf( "PASS: tests of LALI8CreateVectorSequence and LALI8DestroyVectorSequence \n" );
00756           
00757   return;
00758 }
00759 
00760 
00761 
00762 
00763 
00764 
00765 
00766 
00767 
00768 
00769 
00770 
00771 
00772 
00773 
00774 
00775 
00776 
00777 
00778 
00779 
00780 static void U2VectorSequenceFactoriesTest ( void )
00781 {
00782   CreateVectorSequenceIn input   = { 2, 8 };
00783   CreateVectorSequenceIn badslen = { 0, 8 };
00784   CreateVectorSequenceIn badvlen = { 2, 0 };
00785   static LALStatus  status;
00786   static UINT2VectorSequence  *sequence;
00787   static UINT2VectorSequence   sstore;
00788 
00789 
00790   /*
00791    *
00792    * Test ordinary behavior.
00793    *
00794    */
00795 
00796 
00797   LALU2CreateVectorSequence ( &status, &sequence, &input );
00798   TestStatus( &status, CODES( 0 ), 1 );
00799 
00800   memset( sequence->data, 0, input.length*input.vectorLength*sizeof( UINT2 ) );
00801 
00802   LALU2DestroyVectorSequence ( &status, &sequence );
00803   TestStatus( &status, CODES( 0 ), 1 );
00804 
00805   LALCheckMemoryLeaks();
00806 
00807 
00808   /*
00809    *
00810    * Test error codes.
00811    *
00812    */
00813 
00814 #ifndef LAL_NDEBUG
00815 
00816   if ( ! lalNoDebug )
00817   {
00818     LALU2CreateVectorSequence ( &status, &sequence, &badslen );
00819     TestStatus( &status, CODES( SEQFACTORIESH_ESLENGTH ), 1 );
00820 
00821     LALU2CreateVectorSequence ( &status, &sequence, &badvlen );
00822     TestStatus( &status, CODES( SEQFACTORIESH_EVLENGTH ), 1 );
00823 
00824     LALU2CreateVectorSequence ( &status, &sequence, NULL );
00825     TestStatus( &status, CODES( SEQFACTORIESH_EINPTR ), 1 );
00826 
00827     LALU2DestroyVectorSequence ( &status, NULL );
00828     TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00829 
00830     LALU2CreateVectorSequence ( &status, NULL, &input );
00831     TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00832 
00833     LALU2DestroyVectorSequence ( &status, &sequence );
00834     TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00835 
00836     sequence = &sstore;
00837     LALU2CreateVectorSequence ( &status, &sequence, &input );
00838     TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00839 
00840     LALU2DestroyVectorSequence ( &status, &sequence );
00841     TestStatus( &status, CODES( SEQFACTORIESH_EDPTR ), 1 );
00842   }
00843 
00844 #else
00845   badslen.length = 0;
00846   badvlen.vectorLength = 0;
00847   sequence = &sstore;
00848 #endif
00849 
00850   LALCheckMemoryLeaks();
00851   printf( "PASS: tests of LALU2CreateVectorSequence and LALU2DestroyVectorSequence \n" );
00852           
00853   return;
00854 }
00855 
00856 
00857 
00858 
00859 
00860 
00861 
00862 
00863 
00864 
00865 
00866 
00867 
00868 
00869 
00870 
00871 
00872 
00873 
00874 
00875 
00876 static void U4VectorSequenceFactoriesTest ( void )
00877 {
00878   CreateVectorSequenceIn input   = { 2, 8 };
00879   CreateVectorSequenceIn badslen = { 0, 8 };
00880   CreateVectorSequenceIn badvlen = { 2, 0 };
00881   static LALStatus  status;
00882   static UINT4VectorSequence  *sequence;
00883   static UINT4VectorSequence   sstore;
00884 
00885 
00886   /*
00887    *
00888    * Test ordinary behavior.
00889    *
00890    */
00891 
00892 
00893   LALU4CreateVectorSequence ( &status, &sequence, &input );
00894   TestStatus( &status, CODES( 0 ), 1 );
00895 
00896   memset( sequence->data, 0, input.length*input.vectorLength*sizeof( UINT4 ) );
00897 
00898   LALU4DestroyVectorSequence ( &status, &sequence );
00899   TestStatus( &status, CODES( 0 ), 1 );
00900 
00901   LALCheckMemoryLeaks();
00902 
00903 
00904   /*
00905    *
00906    * Test error codes.
00907    *
00908    */
00909 
00910 #ifndef LAL_NDEBUG
00911 
00912   if ( ! lalNoDebug )
00913   {
00914     LALU4CreateVectorSequence ( &status, &sequence, &badslen );
00915     TestStatus( &status, CODES( SEQFACTORIESH_ESLENGTH ), 1 );
00916 
00917     LALU4CreateVectorSequence ( &status, &sequence, &badvlen );
00918     TestStatus( &status, CODES( SEQFACTORIESH_EVLENGTH ), 1 );
00919 
00920     LALU4CreateVectorSequence ( &status, &sequence, NULL );
00921     TestStatus( &status, CODES( SEQFACTORIESH_EINPTR ), 1 );
00922 
00923     LALU4DestroyVectorSequence ( &status, NULL );
00924     TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00925 
00926     LALU4CreateVectorSequence ( &status, NULL, &input );
00927     TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00928 
00929     LALU4DestroyVectorSequence ( &status, &sequence );
00930     TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00931 
00932     sequence = &sstore;
00933     LALU4CreateVectorSequence ( &status, &sequence, &input );
00934     TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00935 
00936     LALU4DestroyVectorSequence ( &status, &sequence );
00937     TestStatus( &status, CODES( SEQFACTORIESH_EDPTR ), 1 );
00938   }
00939 
00940 #else
00941   badslen.length = 0;
00942   badvlen.vectorLength = 0;
00943   sequence = &sstore;
00944 #endif
00945 
00946   LALCheckMemoryLeaks();
00947   printf( "PASS: tests of LALU4CreateVectorSequence and LALU4DestroyVectorSequence \n" );
00948           
00949   return;
00950 }
00951 
00952 
00953 
00954 
00955 
00956 
00957 
00958 
00959 
00960 
00961 
00962 
00963 
00964 
00965 
00966 
00967 
00968 
00969 
00970 
00971 
00972 static void U8VectorSequenceFactoriesTest ( void )
00973 {
00974   CreateVectorSequenceIn input   = { 2, 8 };
00975   CreateVectorSequenceIn badslen = { 0, 8 };
00976   CreateVectorSequenceIn badvlen = { 2, 0 };
00977   static LALStatus  status;
00978   static UINT8VectorSequence  *sequence;
00979   static UINT8VectorSequence   sstore;
00980 
00981 
00982   /*
00983    *
00984    * Test ordinary behavior.
00985    *
00986    */
00987 
00988 
00989   LALU8CreateVectorSequence ( &status, &sequence, &input );
00990   TestStatus( &status, CODES( 0 ), 1 );
00991 
00992   memset( sequence->data, 0, input.length*input.vectorLength*sizeof( UINT8 ) );
00993 
00994   LALU8DestroyVectorSequence ( &status, &sequence );
00995   TestStatus( &status, CODES( 0 ), 1 );
00996 
00997   LALCheckMemoryLeaks();
00998 
00999 
01000   /*
01001    *
01002    * Test error codes.
01003    *
01004    */
01005 
01006 #ifndef LAL_NDEBUG
01007 
01008   if ( ! lalNoDebug )
01009   {
01010     LALU8CreateVectorSequence ( &status, &sequence, &badslen );
01011     TestStatus( &status, CODES( SEQFACTORIESH_ESLENGTH ), 1 );
01012 
01013     LALU8CreateVectorSequence ( &status, &sequence, &badvlen );
01014     TestStatus( &status, CODES( SEQFACTORIESH_EVLENGTH ), 1 );
01015 
01016     LALU8CreateVectorSequence ( &status, &sequence, NULL );
01017     TestStatus( &status, CODES( SEQFACTORIESH_EINPTR ), 1 );
01018 
01019     LALU8DestroyVectorSequence ( &status, NULL );
01020     TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
01021 
01022     LALU8CreateVectorSequence ( &status, NULL, &input );
01023     TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
01024 
01025     LALU8DestroyVectorSequence ( &status, &sequence );
01026     TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
01027 
01028     sequence = &sstore;
01029     LALU8CreateVectorSequence ( &status, &sequence, &input );
01030