From 35de8446a71ca0fc705ce08ce652d35998dee44a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Hed=C3=A9n?= Date: Thu, 6 Feb 2025 09:28:36 +0100 Subject: [PATCH] Fixed Issue 63 with test. --- .../Dbf/DbfReader.cs | 1 + .../Issues/Issue063.cs | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 test/NetTopologySuite.IO.Esri.Test/Issues/Issue063.cs diff --git a/src/NetTopologySuite.IO.Esri.Shapefile/Dbf/DbfReader.cs b/src/NetTopologySuite.IO.Esri.Shapefile/Dbf/DbfReader.cs index 12d2c65..15078d2 100644 --- a/src/NetTopologySuite.IO.Esri.Shapefile/Dbf/DbfReader.cs +++ b/src/NetTopologySuite.IO.Esri.Shapefile/Dbf/DbfReader.cs @@ -152,6 +152,7 @@ private void Initialize(Stream stream, Encoding encoding = null) internal void Restart() { DbfStream.Seek(HeaderSize, SeekOrigin.Begin); + CurrentIndex = 0; } diff --git a/test/NetTopologySuite.IO.Esri.Test/Issues/Issue063.cs b/test/NetTopologySuite.IO.Esri.Test/Issues/Issue063.cs new file mode 100644 index 0000000..049617b --- /dev/null +++ b/test/NetTopologySuite.IO.Esri.Test/Issues/Issue063.cs @@ -0,0 +1,25 @@ +using NUnit.Framework; + +namespace NetTopologySuite.IO.Esri.Test.Issues; + +/// +/// https://github.com/NetTopologySuite/NetTopologySuite.IO.Esri/issues/63 +/// +internal class Issue063 +{ + [Test] + public void ShapefileResetTest() + { + var shpPath = TestShapefiles.PathTo("nested_polygons.shp"); + using var shpReader = Shapefile.OpenRead(shpPath); + + // This test need a shapefile with one feature (RecordCount == 1) + Assert.That(shpReader.RecordCount, Is.EqualTo(1)); + + var readOk = shpReader.Read(); + Assert.IsTrue(readOk); + shpReader.Restart(); + readOk = shpReader.Read(); + Assert.IsTrue(readOk); + } +}