Skip to content

Commit 1e4b223

Browse files
committed
Implemented most Geometry Input methods from Well-Known Text format
1 parent fb76d44 commit 1e4b223

File tree

3 files changed

+354
-6
lines changed

3 files changed

+354
-6
lines changed

LinqToDBPostGisNetTopologySuite.Tests/GeometryInputTests.cs

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,22 @@ public void Setup()
1818
}
1919
}
2020

21+
[Test]
22+
public void TestSTGeomCollFromText()
23+
{
24+
using (var db = new PostGisTestDataConnection(TestDatabaseConnectionString))
25+
{
26+
const string wkt1 = "GEOMETRYCOLLECTION (POINT (1 2), LINESTRING (1 2, 3 4))";
27+
28+
var g1 = db.Select(() => GeometryInput.STGeomCollFromText(wkt1, SRID3857));
29+
30+
Assert.AreEqual(wkt1, g1.AsText());
31+
Assert.AreEqual(SRID3857, g1.SRID);
32+
33+
Assert.IsNull(db.Select(() => GeometryInput.STGeomCollFromText(null)));
34+
}
35+
}
36+
2137
[Test]
2238
public void TestSTGeomFromText()
2339
{
@@ -47,6 +63,57 @@ public void TestSTGeomFromText()
4763
}
4864
}
4965

66+
[Test]
67+
public void TestSTLineFromText()
68+
{
69+
using (var db = new PostGisTestDataConnection(TestDatabaseConnectionString))
70+
{
71+
const string wkt1 = "LINESTRING (1 2, 3 4)";
72+
73+
var g1 = db.Select(() => GeometryInput.STLineFromText(wkt1, SRID3857));
74+
75+
Assert.AreEqual(wkt1, g1.AsText());
76+
Assert.AreEqual(SRID3857, g1.SRID);
77+
78+
Assert.IsNull(db.Select(() => GeometryInput.STLineFromText("POINT(1 2)")));
79+
Assert.IsNull(db.Select(() => GeometryInput.STLineFromText(null)));
80+
}
81+
}
82+
83+
[Test]
84+
public void TestSTMPointFromText()
85+
{
86+
using (var db = new PostGisTestDataConnection(TestDatabaseConnectionString))
87+
{
88+
const string wkt1 = "MULTIPOINT ((1 2), (3 4))";
89+
90+
var g1 = db.Select(() => GeometryInput.STMPointFromText(wkt1, SRID3857));
91+
92+
Assert.AreEqual(wkt1, g1.AsText());
93+
Assert.AreEqual(SRID3857, g1.SRID);
94+
95+
Assert.IsNull(db.Select(() => GeometryInput.STMPointFromText("POINT(1 2)")));
96+
Assert.IsNull(db.Select(() => GeometryInput.STMPointFromText(null)));
97+
}
98+
}
99+
100+
[Test]
101+
public void TestSTPointFromText()
102+
{
103+
using (var db = new PostGisTestDataConnection(TestDatabaseConnectionString))
104+
{
105+
const string wkt1 = "POINT (-71.064544 42.28787)";
106+
107+
var g1 = db.Select(() => GeometryInput.STPointFromText(wkt1, SRID3857));
108+
109+
Assert.AreEqual(wkt1, g1.AsText());
110+
Assert.AreEqual(SRID3857, g1.SRID);
111+
112+
Assert.IsNull(db.Select(() => GeometryInput.STPointFromText("LINESTRING (1 2, 3 4)")));
113+
Assert.IsNull(db.Select(() => GeometryInput.STPointFromText(null)));
114+
}
115+
}
116+
50117
[Test]
51118
public void TestGeometryFromWKB()
52119
{

0 commit comments

Comments
 (0)