public void Constructor_IEnumerable_CreatesLineStringFromCoordinates() { LineString target = new LineString(_coordinatesXYZ); Assert.Equal(SRIDList.WSG84, target.Srid); CheckCoordinates(target, _coordinatesXYZ); }
public void Constructor__CreatesEmptyLineStringWithWSG84() { LineString target = new LineString(); Assert.Equal(0, target.Coordinates.Count); Assert.Equal(SRIDList.WSG84, target.Srid); }
public void Constructor_SRIDIEnumerable_CreatesLineStringFromPointsWithSpecifiedSRID() { int srid = 1; LineString target = new LineString(srid, _coordinatesXYZ); Assert.Equal(srid, target.Srid); CheckCoordinates(target, _coordinatesXYZ); }
public void Constructor_SRID_CreatesEmptyLineStringAndSetsCustomSRID() { int srid = 1; LineString target = new LineString(srid); Assert.Equal(0, target.Coordinates.Count); Assert.Equal(srid, target.Srid); }
public void Is3D_ReturnsTrueForAll3DCoords() { LineString target = new LineString(_coordinatesXYZ); Assert.True(target.Is3D); }
public void ComputeLength_MultiLineString_RetursSumOfLineStringsLengths() { Random generator = new Random(); double segment1Length = generator.Next(100); double segment2Length = generator.Next(100); double sum = 2 * (segment1Length + segment2Length); LineString linestring = new LineString(new Coordinate[] { new Coordinate(10.1, 20.1), new Coordinate(10.2, 20.2), new Coordinate(10.3, 20.3) }); MultiLineString multilinestring = new MultiLineString(new LineString[] { linestring, linestring }); Mock<IDimensionsCalculator> calculatorM = new Mock<IDimensionsCalculator>(); calculatorM.Setup(calc => calc.CalculateDistance(linestring.Coordinates[0], linestring.Coordinates[1])).Returns(segment1Length); calculatorM.Setup(calc => calc.CalculateDistance(linestring.Coordinates[1], linestring.Coordinates[2])).Returns(segment2Length); Measurements target = new Measurements(calculatorM.Object); double length = target.ComputeLength(multilinestring); Assert.Equal(sum, length); }
private void CheckCoordinates(LineString target, Coordinate[] expectedPoints) { Assert.Equal(expectedPoints.Length, target.Coordinates.Count); for (int i = 0; i < expectedPoints.Length; i++) { Assert.Equal(expectedPoints[i], target.Coordinates[i]); } }
public void Start_ReturnsFirstCoordinate() { LineString target = new LineString(_coordinatesXYZ); Assert.Equal(_coordinatesXYZ.First(), target.Start); }
public void IsMeasured_ReturnsTrueForMeasuredCoords() { LineString target = new LineString(_coordinatesXYZM); Assert.True(target.IsMeasured); }
public void IsMeasured_ReturnsFalseForNonMeasuredCoords() { LineString target = new LineString(_coordinatesXYZ); Assert.False(target.IsMeasured); }
public void ComputeLength_LineString_RetursZeroForLineStringWithoutPoints() { LineString linestring = new LineString(); Mock<IDimensionsCalculator> calculatorM = new Mock<IDimensionsCalculator>(); Measurements target = new Measurements(calculatorM.Object); double length = target.ComputeLength(linestring); Assert.Equal(0, length); }
public void GetBoundary_ReturnsEmptyMultiPointForClosedLineString() { LineString target = new LineString(_coordinatesXYZ); target.Coordinates.Add(target.Coordinates[0]); IMultiPoint boundary = target.GetBoundary() as IMultiPoint; Assert.NotNull(boundary); Assert.Empty(boundary.Geometries); }
public void End_ReturnsEmptyCoordinateForEmptyLineString() { LineString target = new LineString(); Assert.Equal(Coordinate.Empty, target.End); }
public void Is3D_ReturnsFalseForAll2DCoords() { LineString target = new LineString(_coordinatesXY); Assert.False(target.Is3D); }
public void GetEnvelope_ReturnsEnvelopeOfLineString() { LineString target = new LineString(_coordinatesXYZ); Envelope expected = new Envelope(_coordinatesXYZ); Assert.Equal(expected, target.GetEnvelope()); }
public void GetEnvelope_ReturnsEmptyEnvelopeForEmptyLineString() { LineString target = new LineString(); Envelope envelope = target.GetEnvelope(); Assert.Equal(Envelope.Empty, envelope); }
public void GetBoundary_ReturnsMultipointWithStartAndEndPointsAndCorrectSRID() { int srid = 1111; LineString target = new LineString(srid, _coordinatesXYZM); IMultiPoint boundary = target.GetBoundary() as IMultiPoint; Assert.NotNull(boundary); Assert.Equal(srid, boundary.Srid); Assert.Equal(target.Start, boundary.Geometries.First().Position); Assert.Equal(target.End, boundary.Geometries.Last().Position); }
private void CompareLineStrings(LineString linestring, LineString expected) { this.CompareCoordinateLists(linestring.Coordinates, expected.Coordinates); }
public void ComputeDistance_PointLineString_ReturnsNaNIfLineStringIsEmpty() { Point point = new Point(new Coordinate(10.1, 20.1)); LineString linestring = new LineString(); Mock<IDimensionsCalculator> calculatorM = new Mock<IDimensionsCalculator>(); Measurements target = new Measurements(calculatorM.Object); double distance = target.ComputeDistance(point, linestring); Assert.True(double.IsNaN(distance)); }
public void IsClosed_ReturnsFalseForOpenLineString() { LineString target = new LineString(_coordinatesXYZ); Assert.False(target.IsClosed); }
public void IsClosed_ReturnsTrueForClosedLineString() { LineString target = new LineString(_coordinatesXYZ); target.Coordinates.Add(target.Coordinates[0]); Assert.True(target.IsClosed); }
public void End_ReturnsLastCoordinate() { LineString target = new LineString(_coordinatesXYZ); Assert.Equal(_coordinatesXYZ.Last(), target.End); }
public void IsMeasured_ReturnsFalseForEmptyLineString() { LineString target = new LineString(); Assert.False(target.IsMeasured); }
public void Write_WritesLinestringsOfAllDimensions(LineString toWrite, string expectedWkt) { this.TestWriteGeometry(toWrite, expectedWkt); }
public void ComputeDistance_PointMultiLineString_ReturnsNaNIfPointIsEmpty() { Point point = new Point(Coordinate.Empty); LineString linestring = new LineString(new Coordinate[] { new Coordinate(10.1, 20.1), new Coordinate(10.2, 20.2), new Coordinate(10.3, 20.3) }); MultiLineString multilinestring = new MultiLineString(new LineString[] { linestring, linestring }); Mock<IDimensionsCalculator> calculatorM = new Mock<IDimensionsCalculator>(); Measurements target = new Measurements(calculatorM.Object); double distance = target.ComputeDistance(point, multilinestring); Assert.True(double.IsNaN(distance)); }