]> granicus.if.org Git - postgis/commitdiff
more changes to better test geography
authorRegina Obe <lr@pcorp.us>
Fri, 2 Oct 2009 20:07:47 +0000 (20:07 +0000)
committerRegina Obe <lr@pcorp.us>
Fri, 2 Oct 2009 20:07:47 +0000 (20:07 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@4584 b70326c6-7e19-0410-871a-916f4a2858ee

doc/xsl/postgis_gardentest.sql.xsl
doc/xsl/postgis_gardentest_subset.sql.xsl

index 13608ceb7ad3086c56fe73bae10bdbed1440f378..92317f4a2c3eae48f0fa526c570a8a75a30497d4 100644 (file)
@@ -246,6 +246,7 @@ SELECT 'create,insert,drop Test: End Testing Geography <xsl:value-of select="@Ge
                                <xsl:variable name='fndef'><xsl:value-of select="funcdef"/></xsl:variable>\r
                                <xsl:variable name='numparams'><xsl:value-of select="count(paramdef/parameter)" /></xsl:variable>\r
                                <xsl:variable name='numparamgeoms'><xsl:value-of select="count(paramdef/type[contains(text(),'geometry') or contains(text(),'geography') or contains(text(),'box') or contains(text(), 'bytea')]) + count(paramdef/parameter[contains(text(),'WKT')])" /></xsl:variable>\r
+                               <xsl:variable name='numparamgeogs'><xsl:value-of select="count(paramdef/type[contains(text(),'geography')] )" /></xsl:variable>\r
                                <!-- For each function prototype generate a test sql statement -->\r
                                <xsl:choose>\r
 <!--Test functions that take no arguments or take no geometries -->\r
@@ -259,12 +260,13 @@ SELECT  'Ending <xsl:value-of select="funcdef/function" />(<xsl:value-of select=
        <xsl:when test="$numparamgeoms = '1' and not(contains($fnexclude,funcdef/function))" >\r
                <xsl:for-each select="document('')//pgis:gardens/pgis:gset">\r
                        <xsl:choose>\r
-                         <xsl:when test="contains($fndef, 'geometry ')">\r
+                         <xsl:when test="contains(paramdef, 'geometry ')">\r
+                         \r
        SELECT 'Geometry <xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />: Start Testing <xsl:value-of select="@GeometryType" />';\r
        BEGIN; <!-- If output is geometry show ewkt rep -->\r
        SELECT ST_AsEWKT(<xsl:value-of select="$fnname" />(<xsl:value-of select="$fnfakeparams" />))\r
                          </xsl:when>\r
-                         <xsl:when test="contains($fndef, 'geography ')">\r
+                         <xsl:when test="contains(paramdef, 'geography ')">\r
        SELECT 'Geography <xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />: Start Testing <xsl:value-of select="@GeometryType" />';\r
        BEGIN; <!-- If output is geometry show astext rep -->\r
        SELECT ST_AsText(<xsl:value-of select="$fnname" />(<xsl:value-of select="$fnfakeparams" />))\r
@@ -287,22 +289,23 @@ SELECT  'Ending <xsl:value-of select="funcdef/function" />(<xsl:value-of select=
 \r
 <!--Functions more than 1 args not already covered this will cross every geometry type with every other -->\r
        <xsl:when test="not(contains($fnexclude,funcdef/function))">\r
+               SELECT '<xsl:value-of select="$fnargs" />'\r
                <xsl:for-each select="document('')//pgis:gardens/pgis:gset">\r
        <!--Store first garden sql geometry from -->\r
                        <xsl:variable name="from1"><xsl:value-of select="." /></xsl:variable>\r
                        <xsl:variable name='geom1type'><xsl:value-of select="@ID"/></xsl:variable>\r
-SELECT '<xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />(<xsl:value-of select="$fnargs" />): Start Testing <xsl:value-of select="$geom1type" /> against other types';\r
+SELECT '<xsl:value-of select="$fnname" /> <xsl:text> </xsl:text><xsl:value-of select="@ID" />(<xsl:value-of select="$fnargs" />): Start Testing <xsl:value-of select="$geom1type" /> against other types';\r
                                <xsl:for-each select="document('')//pgis:gardens/pgis:gset">\r
                        <xsl:choose>\r
-                         <xsl:when test="contains($fndef, 'geometry ')">\r
-                               SELECT 'Geometry <xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />(<xsl:value-of select="$fnargs" />): Start Testing <xsl:value-of select="$geom1type" />, <xsl:value-of select="@GeometryType" />';\r
-       BEGIN; <!-- If output is geometry show ewkt rep -->\r
-       SELECT ST_AsEWKT(<xsl:value-of select="$fnname" />(<xsl:value-of select="$fnfakeparams" />)), ST_AsEWKT(foo1.the_geom) As ref1_geom, ST_AsEWKT(foo2.the_geom) As ref2_geom\r
-                         </xsl:when>\r
-                         <xsl:when test="contains($fndef, 'geography ')">\r
+                         <xsl:when test="$numparamgeogs > '0'">\r
                                SELECT 'Geography <xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />(<xsl:value-of select="$fnargs" />): Start Testing <xsl:value-of select="$geom1type" />, <xsl:value-of select="@GeometryType" />';\r
        BEGIN; <!-- If output is geography show wkt rep -->\r
        SELECT ST_AsText(<xsl:value-of select="$fnname" />(<xsl:value-of select="$fnfakeparams" />)), ST_AsText(foo1.the_geom) As ref1_geom, ST_AsText(foo2.the_geom) As ref2_geom\r
+                         </xsl:when>\r
+                         <xsl:when test="$numparamgeoms > '0'">\r
+                               SELECT 'Geometry <xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />(<xsl:value-of select="$fnargs" />): Start Testing <xsl:value-of select="$geom1type" />, <xsl:value-of select="@GeometryType" />';\r
+       BEGIN; <!-- If output is geometry show ewkt rep -->\r
+       SELECT ST_AsEWKT(<xsl:value-of select="$fnname" />(<xsl:value-of select="$fnfakeparams" />)), ST_AsEWKT(foo1.the_geom) As ref1_geom, ST_AsEWKT(foo2.the_geom) As ref2_geom\r
                          </xsl:when>\r
                          <xsl:otherwise>\r
                                SELECT 'Other <xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />(<xsl:value-of select="$fnargs" />): Start Testing <xsl:value-of select="$geom1type" />, <xsl:value-of select="@GeometryType" />';\r
index 6ce800015f899d57fe373ab499f372ae0851c1c8..a49de7b4c07eb4cb9478f8fe3bd3bf8b6a7f2411 100644 (file)
@@ -10,8 +10,8 @@
                        test more geometries but only against one function.  Useful for intro of new functions or comparing major changes from function of one version of PostGIS to the other\r
         ******************************************************************** -->\r
        <xsl:output method="text" />\r
-       <xsl:variable name='testversion'>1.5.0</xsl:variable>\r
-       <xsl:variable name='fninclude'>ST_Distance ST_DWithin ST_MaxDistance ST_ShortestLine ST_LongestLine</xsl:variable>\r
+<xsl:variable name='testversion'>1.5.0</xsl:variable>\r
+       <xsl:variable name='fninclude'>ST_Distance ST_DWithin ST_AsBinary</xsl:variable>\r
        <!--This is just a place holder to state functions not supported in 1.3 or tested separately -->\r
 \r
        <xsl:variable name='var_srid'>3395</xsl:variable>\r
@@ -38,7 +38,7 @@
                        CROSS JOIN generate_series(40,70, 15) As j\r
                        WHERE NOT(i = j)\r
                        ORDER BY i, i*j)</pgis:gset>\r
-               <pgis:gset ID='PolySet' GeometryType='POLYGON'>(SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j)  As the_geom\r
+               <pgis:gset ID='PolySet' GeometryType='POLYGON'>(SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j*0.05)  As the_geom\r
                FROM generate_series(-10,50,10) As i\r
                        CROSS JOIN generate_series(40,70, 20) As j\r
                        ORDER BY i, i*j, j)</pgis:gset>\r
                        CROSS JOIN generate_series(1,2) As m\r
                        ORDER BY i, j, m, i*j*m\r
                        )</pgis:gset>\r
-               <pgis:gset ID='PointSet3D' GeometryType='POINT'>(SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom\r
+               <pgis:gset ID='PointSet3D' GeometryType='POINTZ'>(SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom\r
                FROM generate_series(-10,50,20) As i\r
                        CROSS JOIN generate_series(40,70, 20) j\r
                        CROSS JOIN generate_series(1,2) k\r
                        ORDER BY i,i*j, j*k, i + j + k)</pgis:gset>\r
-               <pgis:gset ID='LineSet3D' GeometryType='LINESTRING'>(SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom\r
+               <pgis:gset ID='LineSet3D' GeometryType='LINESTRINGZ'>(SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom\r
                FROM generate_series(-10,50,20) As i\r
                        CROSS JOIN generate_series(40,70, 20) j\r
                        CROSS JOIN generate_series(1,2) k\r
                        ORDER BY i, j, i+j+k, k, i*j*k)</pgis:gset>\r
-               <pgis:gset ID='PolygonSet3D' GeometryType='POLYGON'>(SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326)  As the_geom\r
+               <pgis:gset ID='PolygonSet3D' GeometryType='POLYGONZ'>(SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326)  As the_geom\r
                FROM generate_series(-10,50,20) As i\r
                        CROSS JOIN generate_series(50,70, 20) As j\r
                        CROSS JOIN generate_series(1,2) As m\r
                        ORDER BY i, j, i+j+m, m, i*j*m)</pgis:gset>\r
 \r
-               <pgis:gset ID='GCSet3D' GeometryType='GEOMETRYCOLLECTION' SkipUnary='1'>(SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326)))  As the_geom\r
+               <pgis:gset ID='GCSet3D' GeometryType='GEOMETRYCOLLECTIONZ' SkipUnary='1'>(SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326)))  As the_geom\r
                FROM generate_series(-10,50,20) As i\r
                        CROSS JOIN generate_series(50,70, 20) As j\r
                        CROSS JOIN generate_series(1,2) As m\r
                        CROSS JOIN generate_series(40,70, 15) As j\r
                        WHERE NOT(i = j)) As s)</pgis:gset>\r
 \r
-               <pgis:gset ID='MultiPolySet' GeometryType='POLYGON'>(SELECT ST_Multi(ST_Union(ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j)))  As the_geom\r
+               <pgis:gset ID='MultiPolySet' GeometryType='MULTIPOLYGON'>(SELECT ST_Multi(ST_Union(ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j*0.05)))  As the_geom\r
                FROM generate_series(-10,50,10) As i\r
                        CROSS JOIN generate_series(40,70, 25) As j)</pgis:gset>\r
 \r
-               <pgis:gset ID='MultiPointSet3D' GeometryType='MULTIPOINT'>(SELECT ST_Collect(ST_SetSRID(ST_MakePoint(i,j,k),4326)) As the_geom\r
+               <pgis:gset ID='MultiPointSet3D' GeometryType='MULTIPOINTZ'>(SELECT ST_Collect(ST_SetSRID(ST_MakePoint(i,j,k),4326)) As the_geom\r
                FROM generate_series(-10,50,20) As i\r
                        CROSS JOIN generate_series(40,70, 25) j\r
                        CROSS JOIN generate_series(1,3) k\r
                        )</pgis:gset>\r
 \r
-               <pgis:gset ID='MultiLineSet3D' GeometryType='MULTILINESTRING'>(SELECT ST_Multi(ST_Union(ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326))) As the_geom\r
+               <pgis:gset ID='MultiLineSet3D' GeometryType='MULTILINESTRINGZ'>(SELECT ST_Multi(ST_Union(ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326))) As the_geom\r
                FROM generate_series(-10,50,20) As i\r
                        CROSS JOIN generate_series(40,70, 25) j\r
                        CROSS JOIN generate_series(1,2) k\r
                        )</pgis:gset>\r
 \r
-               <pgis:gset ID='MultiPolySet3D' GeometryType='MULTIPOLYGON'>(SELECT ST_Multi(ST_Union(s.the_geom)) As the_geom\r
-               FROM (SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326)))  As the_geom\r
+               <pgis:gset ID='MultiPolySet3D' GeometryType='MULTIPOLYGONZ'>(SELECT ST_Multi(ST_Union(s.the_geom)) As the_geom\r
+               FROM (SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePoint(i+m,j,m),4326),ST_SetSRID(ST_MakePoint(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePoint(i,j,m),4326)),ST_SetSRID(ST_MakePoint(i+m,j,m),4326)))  As the_geom\r
                FROM generate_series(-10,50,20) As i\r
                        CROSS JOIN generate_series(50,70, 25) As j\r
                        CROSS JOIN generate_series(1,2) As m\r
                        CROSS JOIN generate_series(1,2) As m\r
                        WHERE NOT(i = j)) As s)</pgis:gset>\r
 \r
-               <pgis:gset ID='MultiPolygonMSet' GeometryType='MULTIPOLYGONM'>(SELECT ST_Multi(ST_Union(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326)))))  As the_geom\r
-               FROM generate_series(-10,50,20) As i\r
-                       CROSS JOIN generate_series(50,70, 25) As j\r
-                       CROSS JOIN generate_series(1,2) As m\r
+               <pgis:gset ID='MultiPolygonMSet' GeometryType='MULTIPOLYGONM'>(\r
+                       SELECT ST_GeomFromEWKT('SRID=4326;MULTIPOLYGONM(((0 0 2,10 0 1,10 10 -2,0 10 -5,0 0 -5),(5 5 6,7 5 6,7 7 6,5 7 10,5 5 -2)))')  As the_geom\r
                        )</pgis:gset>\r
 \r
-               <pgis:gset ID="Empty" GeometryType="GEOMETRY">(SELECT ST_GeomFromText('GEOMETRYCOLLECTION EMPTY',4326) As the_geom\r
+               <!--These are special case geometries -->\r
+               <pgis:gset ID="Empty" GeometryType="GEOMETRY" createtable="false">(SELECT ST_GeomFromText('GEOMETRYCOLLECTION EMPTY',4326) As the_geom\r
                        UNION ALL SELECT ST_GeomFromText('POLYGON EMPTY',4326) As the_geom\r
                )\r
                </pgis:gset>\r
 \r
-               <pgis:gset ID="NULL" GeometryType="GEOMETRY">(SELECT CAST(Null As geometry) As the_geom)\r
-               </pgis:gset>\r
-\r
+       <!-- TODO: Finish off MULTI list -->\r
+       </pgis:gardens>\r
+       <!--This is just a placeholder to hold geometries that will crash server when hitting against some functions\r
+               We'll fix these crashers in 1.4 -->\r
+       <pgis:gardencrashers>\r
                <pgis:gset ID='CurvePolySet' GeometryType='CURVEPOLYGON'>(SELECT ST_LineToCurve(ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j))  As the_geom\r
                                FROM generate_series(-10,50,10) As i\r
                                        CROSS JOIN generate_series(40,70, 20) As j\r
                                FROM generate_series(-10,50,10) As i\r
                                        CROSS JOIN generate_series(40,70, 20) As j\r
                                        ORDER BY i, j, i*j)</pgis:gset>\r
-\r
-\r
-       <!-- TODO: Finish off MULTI list -->\r
-       </pgis:gardens>\r
-       <!--This is just a placeholder to hold geometries that will crash server when hitting against some functions\r
-               We'll fix these crashers in 1.4 -->\r
-       <pgis:gardencrashers>\r
+               <pgis:gset ID="NULL" GeometryType="GEOMETRY" createtable="false">(SELECT CAST(Null As geometry) As the_geom)</pgis:gset>\r
 \r
        </pgis:gardencrashers>\r
 \r
                                <xsl:variable name='fndef'><xsl:value-of select="funcdef"/></xsl:variable>\r
                                <xsl:variable name='numparams'><xsl:value-of select="count(paramdef/parameter)" /></xsl:variable>\r
                                <xsl:variable name='numparamgeoms'><xsl:value-of select="count(paramdef/type[contains(text(),'geometry') or contains(text(),'box') or contains(text(), 'bytea')]) + count(paramdef/parameter[contains(text(),'WKT')])" /></xsl:variable>\r
+                               <xsl:variable name='numparamgeogs'><xsl:value-of select="count(paramdef/type[contains(text(),'geography')] )" /></xsl:variable>\r
+\r
                                <!-- For each function prototype generate a test sql statement -->\r
                                <xsl:choose>\r
 <!--Test functions that take no arguments or take no geometries -->\r
@@ -189,13 +186,21 @@ SELECT  'Ending <xsl:value-of select="funcdef/function" />(<xsl:value-of select=
 <!-- put functions that take only one geometry no need to cross with another geom collection, these are unary geom, aggregates, and so forth -->\r
        <xsl:when test="$numparamgeoms = '1' and contains($fninclude,funcdef/function)" >\r
                <xsl:for-each select="document('')//pgis:gardens/pgis:gset">\r
-       SELECT '<xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />: Start Testing <xsl:value-of select="@GeometryType" />';\r
-       BEGIN; <!-- If output is geometry show ewkt rep -->\r
                        <xsl:choose>\r
-                         <xsl:when test="contains($fndef, 'geometry ')">\r
+                         <xsl:when test="contains(paramdef, 'geometry ')">\r
+                         \r
+       SELECT 'Geometry <xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />: Start Testing <xsl:value-of select="@GeometryType" />';\r
+       BEGIN; <!-- If output is geometry show ewkt rep -->\r
        SELECT ST_AsEWKT(<xsl:value-of select="$fnname" />(<xsl:value-of select="$fnfakeparams" />))\r
+                         </xsl:when>\r
+                         <xsl:when test="contains(paramdef, 'geography ')">\r
+       SELECT 'Geography <xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />: Start Testing <xsl:value-of select="@GeometryType" />';\r
+       BEGIN; <!-- If output is geometry show astext rep -->\r
+       SELECT ST_AsText(<xsl:value-of select="$fnname" />(<xsl:value-of select="$fnfakeparams" />))\r
                          </xsl:when>\r
                          <xsl:otherwise>\r
+       SELECT 'Other <xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />: Start Testing <xsl:value-of select="@GeometryType" />';\r
+       BEGIN; <!-- If output is geometry show ewkt rep -->\r
        SELECT <xsl:value-of select="$fnname" />(<xsl:value-of select="$fnfakeparams" />)\r
                          </xsl:otherwise>\r
                        </xsl:choose>\r
@@ -211,19 +216,27 @@ SELECT  'Ending <xsl:value-of select="funcdef/function" />(<xsl:value-of select=
 \r
 <!--Functions more than 1 args not already covered this will cross every geometry type with every other -->\r
        <xsl:when test="contains($fninclude,funcdef/function)">\r
+       SELECT '<xsl:value-of select="$fnargs" />'\r
                <xsl:for-each select="document('')//pgis:gardens/pgis:gset">\r
        <!--Store first garden sql geometry from -->\r
                        <xsl:variable name="from1"><xsl:value-of select="." /></xsl:variable>\r
                        <xsl:variable name='geom1type'><xsl:value-of select="@ID"/></xsl:variable>\r
-SELECT '<xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />(<xsl:value-of select="$fnargs" />): Start Testing <xsl:value-of select="$geom1type" /> against other types';\r
+SELECT '<xsl:value-of select="$fnname" /> <xsl:text> </xsl:text><xsl:value-of select="@ID" />(<xsl:value-of select="$fnargs" />): Start Testing <xsl:value-of select="$geom1type" /> against other types';\r
                                <xsl:for-each select="document('')//pgis:gardens/pgis:gset">\r
-       SELECT '<xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />(<xsl:value-of select="$fnargs" />): Start Testing <xsl:value-of select="$geom1type" />, <xsl:value-of select="@GeometryType" />';\r
-       BEGIN; <!-- If output is geometry show ewkt rep -->\r
                        <xsl:choose>\r
-                         <xsl:when test="contains($fndef, 'geometry ')">\r
+                         <xsl:when test="$numparamgeogs > '0'">\r
+                               SELECT 'Geography <xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />(<xsl:value-of select="$fnargs" />): Start Testing <xsl:value-of select="$geom1type" />, <xsl:value-of select="@GeometryType" />';\r
+       BEGIN; <!-- If output is geography show wkt rep -->\r
+       SELECT ST_AsText(<xsl:value-of select="$fnname" />(<xsl:value-of select="$fnfakeparams" />)), ST_AsText(foo1.the_geom) As ref1_geom, ST_AsText(foo2.the_geom) As ref2_geom\r
+                         </xsl:when>\r
+                         <xsl:when test="$numparamgeoms > '0'">\r
+                               SELECT 'Geometry <xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />(<xsl:value-of select="$fnargs" />): Start Testing <xsl:value-of select="$geom1type" />, <xsl:value-of select="@GeometryType" />';\r
+       BEGIN; <!-- If output is geometry show ewkt rep -->\r
        SELECT ST_AsEWKT(<xsl:value-of select="$fnname" />(<xsl:value-of select="$fnfakeparams" />)), ST_AsEWKT(foo1.the_geom) As ref1_geom, ST_AsEWKT(foo2.the_geom) As ref2_geom\r
                          </xsl:when>\r
                          <xsl:otherwise>\r
+                               SELECT 'Other <xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />(<xsl:value-of select="$fnargs" />): Start Testing <xsl:value-of select="$geom1type" />, <xsl:value-of select="@GeometryType" />';\r
+       BEGIN; <!-- If output is geography show wkt rep -->\r
        SELECT <xsl:value-of select="$fnname" />(<xsl:value-of select="$fnfakeparams" />)\r
                          </xsl:otherwise>\r
                        </xsl:choose>\r