END_TEST START_TEST ( test_CubicBezier_createWithPoints ) { Point_t *start= new (std::nothrow) Point(LN,1.1,-2.2,3.3); Point_t *base1= new (std::nothrow) Point(LN,-0.5,2.4,5.6); Point_t *base2= new (std::nothrow) Point(LN,7.8,-0.3,-1.2); Point_t *end = new (std::nothrow) Point(LN,-4.4,5.5,-6.6); CubicBezier_t *cb= new CubicBezier(LN,start,base1,base2,end); fail_unless( cb->getPackageName() == "layout"); fail_unless( cb->getTypeCode() == SBML_LAYOUT_CUBICBEZIER); fail_unless( SBase_getMetaId ((SBase_t*) cb) == NULL ); Point_t *pos=CubicBezier_getStart(cb); fail_unless(pos != NULL); fail_unless(Point_getXOffset(pos) == Point_getXOffset(start)); fail_unless(Point_getYOffset(pos) == Point_getYOffset(start)); fail_unless(Point_getZOffset(pos) == Point_getZOffset(start)); pos=CubicBezier_getBasePoint1(cb); fail_unless(pos != NULL); fail_unless(Point_getXOffset(pos) == Point_getXOffset(base1)); fail_unless(Point_getYOffset(pos) == Point_getYOffset(base1)); fail_unless(Point_getZOffset(pos) == Point_getZOffset(base1)); pos=CubicBezier_getBasePoint2(cb); fail_unless(pos != NULL); fail_unless(Point_getXOffset(pos) == Point_getXOffset(base2)); fail_unless(Point_getYOffset(pos) == Point_getYOffset(base2)); fail_unless(Point_getZOffset(pos) == Point_getZOffset(base2)); pos=CubicBezier_getEnd(cb); fail_unless(pos != NULL); fail_unless(Point_getXOffset(pos) == Point_getXOffset(end)); fail_unless(Point_getYOffset(pos) == Point_getYOffset(end)); fail_unless(Point_getZOffset(pos) == Point_getZOffset(end)); Point_free(start); Point_free(base1); Point_free(base2); Point_free(end); CubicBezier_free(cb); }
END_TEST START_TEST ( test_CubicBezier_createWithPoints_NULL ) { Point* nullPoint = NULL; CubicBezier_t *cb=new CubicBezier(LN, nullPoint, nullPoint, nullPoint, nullPoint); fail_unless( cb->getPackageName() == "layout"); fail_unless( cb->getTypeCode() == SBML_LAYOUT_CUBICBEZIER); fail_unless( SBase_getMetaId ((SBase_t*) cb) == NULL ); Point_t *pos=CubicBezier_getStart(cb); fail_unless(pos != NULL); fail_unless(Point_getXOffset(pos) == 0.0); fail_unless(Point_getYOffset(pos) == 0.0); fail_unless(Point_getZOffset(pos) == 0.0); pos=CubicBezier_getBasePoint1(cb); fail_unless(pos != NULL); fail_unless(Point_getXOffset(pos) == 0.0); fail_unless(Point_getYOffset(pos) == 0.0); fail_unless(Point_getZOffset(pos) == 0.0); pos=CubicBezier_getBasePoint2(cb); fail_unless(pos != NULL); fail_unless(Point_getXOffset(pos) == 0.0); fail_unless(Point_getYOffset(pos) == 0.0); fail_unless(Point_getZOffset(pos) == 0.0); pos=CubicBezier_getEnd(cb); fail_unless(pos != NULL); fail_unless(Point_getXOffset(pos) == 0.0); fail_unless(Point_getYOffset(pos) == 0.0); fail_unless(Point_getZOffset(pos) == 0.0); CubicBezier_free(cb); }
END_TEST START_TEST ( test_CubicBezier_createWithCoordinates ) { Point p1(LN,1.1,-2.2,3.3); Point p2(LN,-4.4,5.5,-6.6); Point p3(LN,7.7,-8.8,9.9); Point p4(LN,-10.10,11.11,-12.12); CubicBezier_t* cb= new CubicBezier(LN, &p1, &p2, &p3, &p4); fail_unless( cb->getPackageName() == "layout"); fail_unless( cb->getTypeCode() == SBML_LAYOUT_CUBICBEZIER); fail_unless( SBase_getMetaId ((SBase_t*) cb) == NULL ); Point_t *pos=CubicBezier_getStart(cb); fail_unless(pos != NULL); fail_unless(pos->getXOffset() == 1.1); fail_unless(pos->getYOffset() == -2.2); fail_unless(pos->getZOffset() == 3.3); pos=CubicBezier_getBasePoint1(cb); fail_unless(pos != NULL); fail_unless(pos->getXOffset() == -4.4); fail_unless(pos->getYOffset() == 5.5); fail_unless(pos->getZOffset() == -6.6); pos=CubicBezier_getBasePoint2(cb); fail_unless(pos != NULL); fail_unless(pos->getXOffset() == 7.7); fail_unless(pos->getYOffset() == -8.8); fail_unless(pos->getZOffset() == 9.9); pos=CubicBezier_getEnd(cb); fail_unless(pos != NULL); fail_unless(pos->getXOffset() == -10.10); fail_unless(pos->getYOffset() == 11.11); fail_unless(pos->getZOffset() == -12.12); CubicBezier_free(cb); }
void CubicBezierTest_teardown (void) { CubicBezier_free(CB); delete LN; }
END_TEST START_TEST ( test_CubicBezier_createFrom ) { Point_t* start= new (std::nothrow) Point(LN,1.1,-2.2,3.3); Point_t* base1= new (std::nothrow) Point(LN,-4.4,5.5,-6.6); Point_t* base2= new (std::nothrow) Point(LN,7.7,-8.8,9.9); Point_t* end= new (std::nothrow) Point(LN,-10.10,11.11,-12.12); CubicBezier_setStart(CB,start); CubicBezier_setBasePoint1(CB,base1); CubicBezier_setBasePoint2(CB,base2); CubicBezier_setEnd(CB,end); CubicBezier_t* cb=CubicBezier_createFrom(CB); fail_unless( cb->getPackageName() == "layout"); fail_unless( cb->getTypeCode() == SBML_LAYOUT_CUBICBEZIER); if(SBase_isSetMetaId((SBase_t*)CB)) { std::string c1=SBase_getMetaId((SBase_t*)CB); std::string c2=SBase_getMetaId((SBase_t*)cb); fail_unless( c1 == c2 ); } // c1=SBase_getNotes((SBase_t*)CB); // c2=SBase_getNotes((SBase_t*)cb); // if(SBase_isSetNotes((SBase_t*)CB)) // { // fail_unless( strncmp(c1 , c2 ,strlen( c1)+1 )==0 ); // } // else{ // fail_unless(!(c1 || c2)); // } // c1=SBase_getAnnotation((SBase_t*)CB); // c2=SBase_getAnnotation((SBase_t*)cb); // if(SBase_isSetAnnotation((SBase_t*)CB)) // { // fail_unless( strncmp(c1 , c2 ,strlen( c1)+1 )==0 ); // } // else{ // fail_unless(!(c1 || c2)); // } Point_t *pos=CubicBezier_getStart(cb); Point_t *POS=CubicBezier_getStart(CB); fail_unless(pos != NULL); fail_unless(Point_getXOffset(pos) == Point_getXOffset(POS)); fail_unless(Point_getYOffset(pos) == Point_getYOffset(POS)); fail_unless(Point_getZOffset(pos) == Point_getZOffset(POS)); pos=CubicBezier_getBasePoint1(cb); POS=CubicBezier_getBasePoint1(CB); fail_unless(pos != NULL); fail_unless(Point_getXOffset(pos) == Point_getXOffset(POS)); fail_unless(Point_getYOffset(pos) == Point_getYOffset(POS)); fail_unless(Point_getZOffset(pos) == Point_getZOffset(POS)); pos=CubicBezier_getBasePoint2(cb); POS=CubicBezier_getBasePoint2(CB); fail_unless(pos != NULL); fail_unless(Point_getXOffset(pos) == Point_getXOffset(POS)); fail_unless(Point_getYOffset(pos) == Point_getYOffset(POS)); fail_unless(Point_getZOffset(pos) == Point_getZOffset(POS)); pos=CubicBezier_getEnd(cb); POS=CubicBezier_getEnd(CB); fail_unless(pos != NULL); fail_unless(Point_getXOffset(pos) == Point_getXOffset(POS)); fail_unless(Point_getYOffset(pos) == Point_getYOffset(POS)); fail_unless(Point_getZOffset(pos) == Point_getZOffset(POS)); Point_free(start); Point_free(base1); Point_free(base2); Point_free(end); CubicBezier_free(cb); }
END_TEST START_TEST (test_CubicBezier_free_NULL) { CubicBezier_free(NULL); }