00001 #include <stdlib.h>
00002 #include "memory.h"
00003 #include "nmd.h"
00004
00005
00006 int main(int argc,char **argv) {
00007 NMD_metadata nmd; NMDErrorCode ierr;
00008 int i;
00009 PetscFunctionBegin;
00010 PetscInitialize(&argc,&argv,0,0);
00011
00012 ierr = NMDCreateObject(&nmd); NMD_ERR_RETURN(ierr);
00013
00014
00015
00016
00017 for (i=0; i<999; i++) {
00018 char catname[20];
00019 memset(catname,0,20);
00020 sprintf(catname,"cat%d",i);
00021 ierr = NMDSetValue(nmd,catname,"cmp",NMDInt,&i); NMD_ERR_RETURN(ierr);
00022 }
00023 for (i=0; i<999; i++) {
00024 char catname[20]; int ii; NMDTruth flg;
00025 memset(catname,0,20);
00026 sprintf(catname,"cat%d",i);
00027 ierr = NMDGetValue
00028 (nmd,catname,"cmp",NULL,(void*)&ii,&flg); NMD_ERR_RETURN(ierr);
00029 if (!flg)
00030 NMD_ERR_REPORTi("Could not get value at",i);
00031 if (i!=ii)
00032 NMD_ERR_REPORTi("Value mismatch at",i);
00033 }
00034
00035
00036
00037
00038 for (i=0; i<999; i++) {
00039 char cmpname[20];
00040 memset(cmpname,0,20);
00041 sprintf(cmpname,"cmp%d",i);
00042 ierr = NMDSetValue(nmd,"testcmp",cmpname,NMDInt,&i); NMD_ERR_RETURN(ierr);
00043 }
00044 for (i=0; i<999; i++) {
00045 char cmpname[20]; int ii; NMDTruth flg;
00046 memset(cmpname,0,20);
00047 sprintf(cmpname,"cmp%d",i);
00048 ierr = NMDGetValue
00049 (nmd,"testcmp",cmpname,NULL,(void*)&ii,&flg); NMD_ERR_RETURN(ierr);
00050 if (!flg)
00051 NMD_ERR_REPORTi("Could not get value at",i);
00052 if (i!=ii)
00053 NMD_ERR_REPORTi("Value mismatch at",i);
00054 }
00055
00056 ierr = NMDDestroyObject(nmd); NMD_ERR_RETURN(ierr);
00057
00058 PetscFinalize();
00059 PetscFunctionReturn(0);
00060 }