public void TestSTEndPoint() { using (var db = new PostGisTestDataConnection(TestDatabaseConnectionString)) { const string Wkt1 = "LINESTRING(1 1, 2 2, 3 3)"; db.TestGeometries .Value(g => g.Id, 1) .Value(g => g.Geometry, () => GeometryInput.STGeomFromText(Wkt1)) .Insert(); const string Wkt2 = "POINT(1 1)"; db.TestGeometries .Value(g => g.Id, 2) .Value(g => g.Geometry, () => GeometryInput.STGeomFromText(Wkt2)) .Insert(); var endPoint1 = db.TestGeometries .Where(g => g.Id == 1) .Select(g => g.Geometry.STEndPoint().STAsText()) .Single(); Assert.AreEqual("POINT(3 3)", endPoint1); var endPoint2 = db.TestGeometries .Where(g => g.Id == 2) .Select(g => g.Geometry.STEndPoint()) .Single(); Assert.IsNull(endPoint2); Assert.IsNull(db.Select(() => GeometryAccessors.STEndPoint((NTSG)null))); Assert.IsNotNull(db.Select(() => GeometryAccessors.STEndPoint(Wkt1))); Assert.AreEqual( "POINT(3 3)", db.Select(() => GeometryAccessors.STEndPoint(Wkt1).STAsText())); Assert.IsNull(db.Select(() => GeometryAccessors.STEndPoint(Wkt2))); } }