NMD
u2.c
Go to the documentation of this file.
00001 #include <stdlib.h>
00002 #include "nmd.h"
00003 
00004 /*! Test different ways of creating a category */
00005 int main(int argc,char **argv) {
00006   NMD_metadata nmd; NMDErrorCode ierr;
00007   PetscFunctionBegin;
00008   PetscInitialize(&argc,&argv,0,0);
00009   ierr = NMDCreateObject(&nmd); NMD_ERR_RETURN(ierr);
00010 
00011   {
00012     NMD_metadata_category cat; char **cats; NMDTruth flg; int ncat;
00013 
00014     ierr = NMDObjectAllocateNewCategory
00015       (nmd,"cat1",NULL); NMD_ERR_RETURN(ierr);
00016 
00017     ierr = NMDObjectAllocateNewCategory
00018       (nmd,"cat2",&cat); NMD_ERR_RETURN(ierr);
00019 
00020     ierr = NMDObjectTryGetCategory
00021       (nmd,"cat1",&cat,&flg); NMD_ERR_RETURN(ierr);
00022     if (!flg) NMD_ERR_REPORT("category 1 should exist");
00023 
00024     ierr = NMDObjectAllocateNewCategory
00025       (nmd,"catthree",&cat); NMD_ERR_RETURN(ierr);
00026     ierr = NMDObjectTryGetCategory
00027       (nmd,"catthree",NULL,&flg); NMD_ERR_RETURN(ierr);
00028     if (!flg) NMD_ERR_REPORT("category three should exist");
00029 
00030     ierr = NMDGetCategories(nmd,&ncat,NULL); NMD_ERR_RETURN(ierr);
00031     if (ncat!=3) NMD_ERR_REPORTi("incorrect number of categories",ncat);
00032     ierr = NMDGetCategories(nmd,&ncat,&cats); NMD_ERR_RETURN(ierr);
00033     NMD_FREE(cats);
00034   }
00035 
00036   ierr = NMDDestroyObject(nmd); NMD_ERR_RETURN(ierr);
00037   PetscFinalize();
00038   PetscFunctionReturn(0);
00039 }