END_TEST START_TEST ( test_LineSegment_createFrom ) { Point* start = new Point(LN,1.1,-2.2,3.3); Point* end=new Point(LN,-4.4,5.5,-6.6); LineSegment_setStart(LS,start); LineSegment_setEnd(LS,end); LineSegment_t* ls=LineSegment_createFrom(LS); fail_unless( SBase_getTypeCode ((SBase_t*) ls) == SBML_LAYOUT_LINESEGMENT ); if(SBase_isSetMetaId((SBase_t*)LS)){ std::string c1=SBase_getMetaId((SBase_t*)LS); std::string c2=SBase_getMetaId((SBase_t*)ls); fail_unless( c1 == c2 ); } // c1=SBase_getNotes((SBase_t*)LS); // c2=SBase_getNotes((SBase_t*)ls); // // if(SBase_isSetNotes((SBase_t*)LS)) // { // fail_unless( strncmp(c1 , c2 ,strlen( c1 ) + 1 ) ); // } // else // { // fail_unless(!(c1 || c2)); // } // // c1=SBase_getAnnotation((SBase_t*)LS); // c2=SBase_getAnnotation((SBase_t*)ls); // // if(SBase_isSetAnnotation((SBase_t*)LS)) // { // fail_unless( strncmp(c1 , c2 ,strlen( c1 ) + 1) ); // } // else // { // fail_unless(!(c1 || c2)); // } Point_t *pos=LineSegment_getStart(ls); Point_t *POS=LineSegment_getStart(LS); 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=LineSegment_getEnd(ls); POS=LineSegment_getEnd(LS); 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(end); LineSegment_free(ls); }
END_TEST START_TEST ( test_LineSegment_createWithPoints ) { Point_t *start=new Point(LN,1.1,-2.2,3.3); Point_t *end =new Point(LN,-4.4,5.5,-6.6); LineSegment_t *ls=new LineSegment(LN, start,end); fail_unless( SBase_getTypeCode ((SBase_t*) ls) == SBML_LAYOUT_LINESEGMENT ); fail_unless( SBase_getMetaId ((SBase_t*) ls) == NULL ); Point_t *pos=LineSegment_getStart(ls); 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=LineSegment_getEnd(ls); 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(end); LineSegment_free(ls); }
END_TEST START_TEST ( test_LineSegment_createWithCoordinates ) { LineSegment_t* ls=LineSegment_createWithCoordinates(1.1,-2.2,3.3,-4.4,5.5,-6.6); fail_unless( SBase_getTypeCode ((SBase_t*) ls) == SBML_LAYOUT_LINESEGMENT ); fail_unless( SBase_getMetaId ((SBase_t*) ls) == NULL ); // fail_unless( SBase_getNotes ((SBase_t*) ls) == NULL ); // fail_unless( SBase_getAnnotation ((SBase_t*) ls) == NULL ); fail_unless( LineSegment_isSetId(ls) == 0 ); Point_t *pos=LineSegment_getStart(ls); fail_unless(pos != NULL); fail_unless(pos->getXOffset() == 1.1); fail_unless(pos->getYOffset() == -2.2); fail_unless(pos->getZOffset() == 3.3); pos=LineSegment_getEnd(ls); fail_unless(pos != NULL); fail_unless(pos->getXOffset() == -4.4); fail_unless(pos->getYOffset() == 5.5); fail_unless(pos->getZOffset() == -6.6); LineSegment_free(ls); }
END_TEST START_TEST ( test_LineSegment_createWithPoints_NULL ) { LineSegment_t *ls=LineSegment_createWithPoints(NULL,NULL); fail_unless( SBase_getTypeCode ((SBase_t*) ls) == SBML_LAYOUT_LINESEGMENT ); fail_unless( SBase_getMetaId ((SBase_t*) ls) == NULL ); // fail_unless( SBase_getNotes ((SBase_t*) ls) == NULL ); // fail_unless( SBase_getAnnotation ((SBase_t*) ls) == NULL ); fail_unless( LineSegment_isSetId(ls) == 0 ); Point_t *pos=LineSegment_getStart(ls); 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=LineSegment_getEnd(ls); 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); LineSegment_free(ls); }
END_TEST START_TEST ( test_LineSegment_createWithPoints ) { Point_t *start=Point_createWithCoordinates(1.1,-2.2,3.3); Point_t *end =Point_createWithCoordinates(-4.4,5.5,-6.6); LineSegment_t *ls=LineSegment_createWithPoints(start,end); fail_unless( SBase_getTypeCode ((SBase_t*) ls) == SBML_LAYOUT_LINESEGMENT ); fail_unless( SBase_getMetaId ((SBase_t*) ls) == NULL ); // fail_unless( SBase_getNotes ((SBase_t*) ls) == NULL ); // fail_unless( SBase_getAnnotation ((SBase_t*) ls) == NULL ); fail_unless( LineSegment_isSetId(ls) == 0 ); Point_t *pos=LineSegment_getStart(ls); 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=LineSegment_getEnd(ls); 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(end); LineSegment_free(ls); }
END_TEST START_TEST (test_LineSegment_setStart_NULL ) { LineSegment_setStart(LS,NULL); Point_t *pos=LineSegment_getStart(LS); 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); }
END_TEST START_TEST (test_LineSegment_setStart){ Point_t *pos=Point_createWithCoordinates(1.1,-2.2,3.3); LineSegment_setStart(LS,pos); Point_t* POS=LineSegment_getStart(LS); 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(pos); }
END_TEST START_TEST ( test_LineSegment_createFrom ) { Point_t* start=Point_createWithCoordinates(1.1,-2.2,3.3); Point_t* end=Point_createWithCoordinates(-4.4,5.5,-6.6); LineSegment_setStart(LS,start); LineSegment_setEnd(LS,end); LineSegment_setId(LS,"TestID"); LineSegment_t* ls=LineSegment_createFrom(LS); fail_unless( SBase_getTypeCode ((SBase_t*) ls) == SBML_LAYOUT_LINESEGMENT ); const char* c1=SBase_getMetaId((SBase_t*)LS); const char* c2=SBase_getMetaId((SBase_t*)ls); if(SBase_isSetMetaId((SBase_t*)LS)){ fail_unless( strncmp(c1 , c2 ,strlen( c1 )+1 ) ); } else { fail_unless(!(c1 || c2)); } // c1=SBase_getNotes((SBase_t*)LS); // c2=SBase_getNotes((SBase_t*)ls); // // if(SBase_isSetNotes((SBase_t*)LS)) // { // fail_unless( strncmp(c1 , c2 ,strlen( c1 ) + 1 ) ); // } // else // { // fail_unless(!(c1 || c2)); // } // // c1=SBase_getAnnotation((SBase_t*)LS); // c2=SBase_getAnnotation((SBase_t*)ls); // // if(SBase_isSetAnnotation((SBase_t*)LS)) // { // fail_unless( strncmp(c1 , c2 ,strlen( c1 ) + 1) ); // } // else // { // fail_unless(!(c1 || c2)); // } fail_unless( LineSegment_isSetId(ls) == LineSegment_isSetId(LS) ); if( LineSegment_isSetId(ls) ) { c1=LineSegment_getId(LS); c2=LineSegment_getId(ls); fail_unless( strncmp(c1 , c2 ,strlen( c1 ) + 1 ) == 0); } Point_t *pos=LineSegment_getStart(ls); Point_t *POS=LineSegment_getStart(LS); 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=LineSegment_getEnd(ls); POS=LineSegment_getEnd(LS); 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(end); LineSegment_free(ls); }
LIBSBML_EXTERN Point_t * CubicBezier_getStart (CubicBezier_t *cb) { return LineSegment_getStart(cb); }