NMD
u4.c
Go to the documentation of this file.
00001 #include <stdlib.h>
00002 #include "nmd.h"
00003 
00004 /*! Test creation 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 = NMDObjectTryGetCategory
00021       (nmd,"cat2",&cat,&flg); NMD_ERR_RETURN(ierr);
00022     if (!flg) NMD_ERR_REPORT("category 2 missing");
00023 
00024     ierr = NMDCategoryAllocateNewComponent
00025       (cat,"p1",NMDInt,NULL); NMD_ERR_RETURN(ierr);
00026     ierr = NMDCategoryAllocateNewComponent
00027       (cat,"ptwo",NMDReal,NULL); NMD_ERR_RETURN(ierr);
00028     ierr = NMDCategoryAllocateNewComponent
00029       (cat,"p3",NMDIntarray,NULL); NMD_ERR_RETURN(ierr);
00030 
00031     ierr = NMDObjectTryGetCategory
00032       (nmd,"catone",&cat,&flg); NMD_ERR_RETURN(ierr);
00033     if (!flg) NMD_ERR_REPORT("category 1 missing")
00034 
00035     ierr = NMDCategoryAllocateNewComponent
00036       (cat,"pone",NMDString,NULL); NMD_ERR_RETURN(ierr);
00037     ierr = NMDCategoryAllocateNewComponent
00038       (cat,"ptwo",NMDRealarray,NULL); NMD_ERR_RETURN(ierr);
00039 
00040   }
00041 
00042   ierr = NMDDestroyObject(nmd); NMD_ERR_RETURN(ierr);
00043   PetscFinalize();
00044   PetscFunctionReturn(0);
00045 }