00001 #include <stdlib.h>
00002 #include "nmd.h"
00003
00004
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 }