diff --git a/src/NetTopologySuite.IO.GeoJSON4STJ/Converters/StjParsedCoordinates.cs b/src/NetTopologySuite.IO.GeoJSON4STJ/Converters/StjParsedCoordinates.cs index 4dbf652..c31b097 100644 --- a/src/NetTopologySuite.IO.GeoJSON4STJ/Converters/StjParsedCoordinates.cs +++ b/src/NetTopologySuite.IO.GeoJSON4STJ/Converters/StjParsedCoordinates.cs @@ -56,7 +56,7 @@ public static StjParsedCoordinates Parse(ref Utf8JsonReader reader, GeometryFact reader.ReadOrThrow(); if (reader.TokenType == JsonTokenType.EndArray) { - return default; + return new StjParsedCoordinates(factory.CreateMultiPolygon(new Polygon[] { factory.CreatePolygon() })); } } diff --git a/test/NetTopologySuite.IO.GeoJSON4STJ.Test/Converters/GeometryConverterTest.cs b/test/NetTopologySuite.IO.GeoJSON4STJ.Test/Converters/GeometryConverterTest.cs index 73f713f..9fce938 100644 --- a/test/NetTopologySuite.IO.GeoJSON4STJ.Test/Converters/GeometryConverterTest.cs +++ b/test/NetTopologySuite.IO.GeoJSON4STJ.Test/Converters/GeometryConverterTest.cs @@ -23,15 +23,15 @@ public void TestReadWithEmptyCoordinatesArray(string type) Assert.That(geom.IsEmpty); } - - [TestCase("MultiPolygon")] - public void TestReadWithArrayOfEmptyCoordinatesArray(string type) + [TestCase] + public void TestMultiPolygonReadWithArrayOfEmptyCoordinatesArray() { - string geoJson = @$"{{ ""type"" : ""{type}"", ""coordinates"": [ [] ] }}"; + string geoJson = @"{ ""type"" : ""MultiPolygon"", ""coordinates"": [ [] ] }"; var options = DefaultOptions; var geom = Deserialize(geoJson, options); Assert.That(geom != null); + Assert.That(new MultiPolygon(new Polygon[] { new Polygon(null) }) == geom); Assert.That(geom.IsEmpty); }