NMD
|
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 }