NMD
|
00001 #include <stdlib.h> 00002 #include "nmd.h" 00003 00004 /*! Test existence tests of components */ 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; NMDTruth flg; 00013 00014 ierr = NMDObjectAllocateNewCategory 00015 (nmd,"catone",NULL); NMD_ERR_RETURN(ierr); 00016 00017 ierr = NMDObjectAllocateNewCategory 00018 (nmd,"cat2",&cat); NMD_ERR_RETURN(ierr); 00019 00020 ierr = NMDCategoryAllocateNewComponent 00021 (cat,"p1",NMDInt,NULL); NMD_ERR_RETURN(ierr); 00022 ierr = NMDCategoryAllocateNewComponent 00023 (cat,"ptwo",NMDReal,NULL); NMD_ERR_RETURN(ierr); 00024 ierr = NMDCategoryAllocateNewComponent 00025 (cat,"p3",NMDIntarray,NULL); NMD_ERR_RETURN(ierr); 00026 00027 ierr = NMDObjectTryGetCategory 00028 (nmd,"catone",&cat,&flg); NMD_ERR_RETURN(ierr); 00029 if (!flg) NMD_ERR_REPORT("category 1 missing") 00030 00031 ierr = NMDCategoryAllocateNewComponent 00032 (cat,"pone",NMDString,NULL); NMD_ERR_RETURN(ierr); 00033 ierr = NMDCategoryAllocateNewComponent 00034 (cat,"ptwo",NMDRealarray,NULL); NMD_ERR_RETURN(ierr); 00035 00036 /* and here are the tests */ 00037 ierr = NMDCategoryTryGetComponent 00038 (cat,"pone",NULL,&flg); NMD_ERR_RETURN(ierr); 00039 if (!flg) NMD_ERR_REPORT("Did not find pone component"); 00040 ierr = NMDCategoryTryGetComponent 00041 (cat,"ptwo",NULL,&flg); NMD_ERR_RETURN(ierr); 00042 if (!flg) NMD_ERR_REPORT("Did not find ptwo component"); 00043 ierr = NMDCategoryTryGetComponent 00044 (cat,"pthree",NULL,&flg); NMD_ERR_RETURN(ierr); 00045 if (flg) NMD_ERR_REPORT("Found non-existing component"); 00046 ierr = NMDObjectHasCategoryComponent 00047 (nmd,"catone","p1",&flg); NMD_ERR_RETURN(ierr); 00048 if (flg) NMD_ERR_REPORT("found component in wrong category"); 00049 } 00050 00051 ierr = NMDDestroyObject(nmd); NMD_ERR_RETURN(ierr); 00052 PetscFinalize(); 00053 PetscFunctionReturn(0); 00054 }