NMD
|
00001 #include <stdlib.h> 00002 #include "nmd.h" 00003 00004 /*! Test removal of 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 = 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 }