MOAB: Mesh Oriented datABase  (version 5.4.1)
test_status.cpp
Go to the documentation of this file.
00001 #include "iGeom.h"
00002 #include "iMesh.h"
00003 #include "iRel.h"
00004 
00005 #include "TestUtil.hpp"
00006 
00007 #include <cstdlib>
00008 
00009 iGeom_Instance geom;
00010 iMesh_Instance mesh;
00011 iRel_Instance rel;
00012 using namespace moab;
00013 
00014 void test_initial_inactive()
00015 {
00016     int err;
00017     iRel_PairHandle pair;
00018 
00019     iRel_createPair( rel, geom, iRel_SET, iRel_IGEOM_IFACE, iRel_INACTIVE, mesh, iRel_SET, iRel_IMESH_IFACE,
00020                      iRel_ACTIVE, &pair, &err );CHECK_ERR( err );
00021 
00022     iBase_EntitySetHandle geom_set;
00023     iGeom_createEntSet( geom, false, &geom_set, &err );CHECK_ERR( err );
00024 
00025     iBase_EntitySetHandle mesh_set;
00026     iMesh_createEntSet( mesh, false, &mesh_set, &err );CHECK_ERR( err );
00027 
00028     iRel_setSetSetRelation( rel, pair, geom_set, mesh_set, &err );CHECK_ERR( err );
00029 
00030     iBase_EntitySetHandle related_set;
00031     iRel_getSetSetRelation( rel, pair, mesh_set, 1, &related_set, &err );CHECK_ERR( err );
00032     CHECK_EQUAL( related_set, geom_set );
00033 
00034     iRel_getSetSetRelation( rel, pair, geom_set, 0, &related_set, &err );
00035     CHECK( err != iBase_SUCCESS );
00036 
00037     iRel_changePairStatus( rel, pair, iRel_ACTIVE, iRel_ACTIVE, &err );CHECK_ERR( err );
00038 
00039     iRel_getSetSetRelation( rel, pair, geom_set, 0, &related_set, &err );CHECK_ERR( err );
00040     CHECK_EQUAL( related_set, mesh_set );
00041 }
00042 
00043 void test_initial_notexist()
00044 {
00045     int err;
00046     iRel_PairHandle pair;
00047 
00048     iRel_createPair( rel, geom, iRel_SET, iRel_IGEOM_IFACE, iRel_NOTEXIST, mesh, iRel_SET, iRel_IMESH_IFACE,
00049                      iRel_ACTIVE, &pair, &err );CHECK_ERR( err );
00050 
00051     iBase_EntitySetHandle geom_set;
00052     iGeom_createEntSet( geom, false, &geom_set, &err );CHECK_ERR( err );
00053 
00054     iBase_EntitySetHandle mesh_set;
00055     iMesh_createEntSet( mesh, false, &mesh_set, &err );CHECK_ERR( err );
00056 
00057     iRel_setSetSetRelation( rel, pair, geom_set, mesh_set, &err );CHECK_ERR( err );
00058 
00059     iBase_EntitySetHandle related_set;
00060     iRel_getSetSetRelation( rel, pair, mesh_set, 1, &related_set, &err );CHECK_ERR( err );
00061     CHECK_EQUAL( related_set, geom_set );
00062 
00063     iRel_getSetSetRelation( rel, pair, geom_set, 0, &related_set, &err );
00064     CHECK( err != iBase_SUCCESS );
00065 
00066     iRel_changePairStatus( rel, pair, iRel_ACTIVE, iRel_ACTIVE, &err );CHECK_ERR( err );
00067 
00068     iRel_getSetSetRelation( rel, pair, geom_set, 0, &related_set, &err );CHECK_ERR( err );
00069     CHECK_EQUAL( related_set, mesh_set );
00070 }
00071 
00072 int main()
00073 {
00074     int err;
00075     int num_fail = 0;
00076 
00077     iGeom_newGeom( 0, &geom, &err, 0 );
00078     iMesh_newMesh( 0, &mesh, &err, 0 );
00079     iRel_create( 0, &rel, &err, 0 );
00080 
00081     num_fail += RUN_TEST( test_initial_inactive );
00082     num_fail += RUN_TEST( test_initial_notexist );
00083 
00084     iRel_destroy( rel, &err );
00085     iMesh_dtor( mesh, &err );
00086     iGeom_dtor( geom, &err );
00087 
00088     return num_fail;
00089 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines