public void Write_works_when_LineString_with_M_one_NaN() { var points = new PackedDoubleCoordinateSequence( coords: new double[] { 0, 0, 0, Coordinate.NullOrdinate, 0, 1, 0, 1 }, dimensions: 4); var lineString = new LineString(points, Geometry.DefaultFactory); Assert.Equal( "000000000117000000000000000000000000000000000000000000000000000000000000F03F00000000000000000000000000000000000000000000F8FF000000000000F03F", Write(lineString)); }
public void Write_works_when_LineString_with_Ms() { var points = new PackedDoubleCoordinateSequence( coords: new double[] { 0, 0, 0, 1, 0, 1, 0, 2 }, dimension: 4, measures: 1); var lineString = new LineString(points, Geometry.DefaultFactory); Assert.Equal( "000000000117000000000000000000000000000000000000000000000000000000000000F03F00000000000000000000000000000000000000000000F03F0000000000000040", Write(lineString)); }
public void TestReleaseCoordinateArrayForDouble() { double[] rawData = { 1, 2, 3, 4 }; var seq = new PackedDoubleCoordinateSequence(rawData, 2, 0); rawData = seq.GetRawCoordinates(); var originalCoords = seq.ToCoordinateArray(); Assert.That(originalCoords, Is.EqualTo(new[] { new Coordinate(1, 2), new Coordinate(3, 4) })); Array.Reverse(rawData); seq.ReleaseCoordinateArray(); var modifiedCoords = seq.ToCoordinateArray(); Assert.That(modifiedCoords, Is.EqualTo(new[] { new Coordinate(4, 3), new Coordinate(2, 1) })); // ensure that this test doesn't "accidentally" pass just because GC happens to run. GC.KeepAlive(originalCoords); }