00001 #include <stdlib.h>
00002 #include "string.h"
00003 #include "nmd.h"
00004
00005
00006 int main(int argc,char **argv) {
00007 NMD_metadata nmd; NMDErrorCode ierr;
00008 NMDTruth flg;
00009 static char *c1 = "string1";
00010 char *c2,*rc1,*rc2,*rc3;
00011 PetscFunctionBegin;
00012 PetscInitialize(&argc,&argv,0,0);
00013
00014 ierr = NMDCreateObject(&nmd); NMD_ERR_RETURN(ierr);
00015
00016 ierr = NMDSetValue(nmd,"catg","c1",NMDString,c1); NMD_ERR_RETURN(ierr);
00017 c2 = "string2";
00018 ierr = NMDSetValue(nmd,"catg","c2",NMDString,c2); NMD_ERR_RETURN(ierr);
00019 ierr = NMDSetValue
00020 (nmd,"catg","c3",NMDString,(void*)"string3"); NMD_ERR_RETURN(ierr);
00021
00022 ierr = NMDGetValue(nmd,"catg","c1",NULL,&rc1,&flg); NMD_ERR_RETURN(ierr);
00023 if (!flg) NMD_ERR_REPORT("trouble finding 1");
00024 ierr = NMDGetValue(nmd,"catg","c2",NULL,&rc2,&flg); NMD_ERR_RETURN(ierr);
00025 if (!flg) NMD_ERR_REPORT("trouble finding 2");
00026 ierr = NMDGetValue(nmd,"catg","c3",NULL,&rc3,&flg); NMD_ERR_RETURN(ierr);
00027 if (!flg) NMD_ERR_REPORT("trouble finding 3");
00028
00029 if (strcmp(rc1,"string1")) NMD_ERR_REPORTs("problem1",rc1);
00030 if (strcmp(rc2,"string2")) NMD_ERR_REPORTs("problem2",rc2);
00031 if (strcmp(rc3,"string3")) NMD_ERR_REPORTs("problem3",rc3);
00032
00033 ierr = NMDDestroyObject(nmd); NMD_ERR_RETURN(ierr);
00034
00035 PetscFinalize();
00036 PetscFunctionReturn(0);
00037 }