void test_empty_graph() { Graph *gg = gNew(); WalkOptions *wo = woNew(); CH *ch = get_contraction_hierarchies( gg, wo, 1 ); assert( gSize( ch->up ) == 0 ); assert( gSize( ch->down ) == 0 ); woDestroy( wo ); chDestroy( ch ); gDestroy( gg ); }
cmeth objrtn ObjectPool_cm_gDisposeGlobalPool(object self) { if (ObjectPool_cv->cCurrentPool) { ObjectPool_cv->cCurrentPool = gDispose(ObjectPool_cv->cCurrentPool); if (ObjectPool_cv->cPools && gSize(ObjectPool_cv->cPools)) ObjectPool_cv->cCurrentPool = gPop(ObjectPool_cv->cPools); } return ObjectPool_cv->cCurrentPool; }
void test_simple_graph() { // create a simple graph with two vertices and one edge Graph *gg = gNew(); gAddVertex( gg, "A" ); gAddVertex( gg, "B" ); gAddEdge( gg, "A", "B", (EdgePayload*)streetNew( "AtoB", 10, 0 ) ); // create a contraction hierarchy of the graph WalkOptions *wo = woNew(); CH *ch = get_contraction_hierarchies( gg, wo, 1 ); // asserts assert( gSize( ch->up ) == 2 ); assert( gSize( ch->down ) == 2 ); // clean up woDestroy( wo ); chDestroy( ch ); gDestroy( gg ); }