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 = NMDObjectAllocateNewCategory
00021 (nmd,"catthree",&cat); NMD_ERR_RETURN(ierr);
00022
00023 ierr = NMDRemoveCategory(nmd,"cat2"); NMD_ERR_RETURN(ierr);
00024
00025 ierr = NMDObjectTryGetCategory
00026 (nmd,"cat2",NULL,&flg); NMD_ERR_RETURN(ierr);
00027 if (flg) NMD_ERR_REPORT("category was supposed to be removed");
00028
00029 ierr = NMDGetCategories(nmd,&ncat,NULL); NMD_ERR_RETURN(ierr);
00030 if (ncat!=3) NMD_ERR_REPORTi("incorrect number of categories",ncat);
00031 ierr = NMDGetCategories(nmd,&ncat,&cats); NMD_ERR_RETURN(ierr);
00032 NMD_FREE(cats);
00033 }
00034
00035 ierr = NMDDestroyObject(nmd); NMD_ERR_RETURN(ierr);
00036 PetscFinalize();
00037 PetscFunctionReturn(0);
00038 }