public void TestST3DLongestLine()
        {
            using (var db = new PostGisTestDataConnection(TestDatabaseConnectionString))
            {
                var pt   = db.Select(() => GeometryInput.STPointFromText("POINT(100 100 30)"));
                var line = db.Select(() => GeometryInput.STLineFromText("LINESTRING (20 80 20, 98 190 1, 110 180 3, 50 75 1000)"));

                var lline1 = db.Select(() => MeasurementFunctions.ST3DLongestLine(line, pt).STAsEWKT());

                Assert.AreEqual("LINESTRING(50 75 1000,100 100 30)", lline1);
            }
        }
        public void TestST3DLongestLine()
        {
            using (var db = new PostGisTestDataConnection(TestDatabaseConnectionString))
            {
                const string PointWkt = "POINT(100 100 30)";
                const string LineWkt  = "LINESTRING (20 80 20, 98 190 1, 110 180 3, 50 75 1000)";
                var          point    = db.Select(() => GeometryInput.STPointFromText(PointWkt));
                var          line     = db.Select(() => GeometryInput.STLineFromText(LineWkt));

                var lline1 = db.Select(() => MeasurementFunctions.ST3DLongestLine(line, point).STAsEWKT());

                Assert.AreEqual("LINESTRING(50 75 1000,100 100 30)", lline1);

                Assert.AreEqual(
                    "LINESTRING(50 75 1000,100 100 30)",
                    db.Select(() => MeasurementFunctions.ST3DLongestLine(LineWkt, PointWkt).STAsEWKT()));

                Assert.IsNull(db.Select(() => MeasurementFunctions.ST3DLongestLine((NTSG)null, (NTSG)null)));
            }
        }