@@ -5959,6 +5959,32 @@ void TestQgsGeometry::triangle()
5959
5959
QVERIFY( !t6.fromWkb( wkbPointPtr ) );
5960
5960
QCOMPARE( t6.wkbType(), QgsWkbTypes::Triangle );
5961
5961
5962
+ //asGML2
5963
+ QgsTriangle exportEmptyTriangle( QgsPoint( 1, 2 ),
5964
+ QgsPoint( 3, 4 ),
5965
+ QgsPoint( 5, 6 ) );
5966
+ QgsTriangle exportTriangle( QgsPoint( 1, 2 ),
5967
+ QgsPoint( 3, 4 ),
5968
+ QgsPoint( 6, 5 ) );
5969
+ QgsTriangle exportTriangleFloat( QgsPoint( 1 + 1 / 3.0, 2 + 2 / 3.0 ),
5970
+ QgsPoint( 3 + 1 / 3.0, 4 + 2 / 3.0 ),
5971
+ QgsPoint( 6 + 1 / 3.0, 5 + 2 / 3.0 ) );
5972
+ QDomDocument doc( QStringLiteral( "gml" ) );
5973
+ QString expectedGML2( QStringLiteral( "<Polygon xmlns=\"gml\"><outerBoundaryIs xmlns=\"gml\"><LinearRing xmlns=\"gml\"><coordinates xmlns=\"gml\" cs=\",\" ts=\" \">1,2 3,4 6,5 1,2</coordinates></LinearRing></outerBoundaryIs></Polygon>" ) );
5974
+ QGSCOMPAREGML( elemToString( exportTriangle.asGML2( doc ) ), expectedGML2 );
5975
+ QString expectedGML2prec3( QStringLiteral( "<Polygon xmlns=\"gml\"><outerBoundaryIs xmlns=\"gml\"><LinearRing xmlns=\"gml\"><coordinates xmlns=\"gml\" cs=\",\" ts=\" \">1.333,2.667 3.333,4.667 6.333,5.667 1.333,2.667</coordinates></LinearRing></outerBoundaryIs></Polygon>" ) );
5976
+ QGSCOMPAREGML( elemToString( exportTriangleFloat.asGML2( doc, 3 ) ), expectedGML2prec3 );
5977
+ QString expectedGML2empty( QStringLiteral( "" ) ); // TODO: FIXME?
5978
+ QGSCOMPAREGML( elemToString( exportEmptyTriangle.asGML2( doc ) ), expectedGML2empty );
5979
+
5980
+ //asGML3
5981
+ QString expectedGML3( QStringLiteral( "<Triangle xmlns=\"gml\"><exterior xmlns=\"gml\"><LinearRing xmlns=\"gml\"><posList xmlns=\"gml\" srsDimension=\"2\">1 2 3 4 6 5 1 2</posList></LinearRing></exterior></Triangle>" ) );
5982
+ QCOMPARE( elemToString( exportTriangle.asGML3( doc ) ), expectedGML3 );
5983
+ QString expectedGML3prec3( QStringLiteral( "<Triangle xmlns=\"gml\"><exterior xmlns=\"gml\"><LinearRing xmlns=\"gml\"><posList xmlns=\"gml\" srsDimension=\"2\">1.333 2.667 3.333 4.667 6.333 5.667 1.333 2.667</posList></LinearRing></exterior></Triangle>" ) );
5984
+ QCOMPARE( elemToString( exportTriangleFloat.asGML3( doc, 3 ) ), expectedGML3prec3 );
5985
+ QString expectedGML3empty( QStringLiteral( "" ) ); // TODO: FIXME?
5986
+ QGSCOMPAREGML( elemToString( exportEmptyTriangle.asGML3( doc ) ), expectedGML3empty );
5987
+
5962
5988
// lengths and angles
5963
5989
QgsTriangle t7( QgsPoint( 0, 0 ), QgsPoint( 0, 5 ), QgsPoint( 5, 5 ) );
5964
5990
0 commit comments