public void get_segment() { var lineString = new LineString2(_points); lineString.GetSegment(1).B.Should().Be(_points[2]); lineString.GetSegment(2).A.Should().Be(_points[2]); }
public void distance_squared() { var lineString = new LineString2(_points); _points.Select(lineString.DistanceSquared).Should().OnlyContain(x => x == 0); lineString.DistanceSquared(new Point2(1, 3)).Should().Be(0); lineString.DistanceSquared(new Point2(1, 5)).Should().Be( lineString.GetSegment(2).DistanceSquared(new Point2(1, 5))); }
public void magnitude_squared() { var lineString = new LineString2(_points); var expectedMagnitude = Enumerable.Range(0, lineString.SegmentCount) .Select(i => lineString.GetSegment(i)) .Select(s => s.GetMagnitude()) .Sum(); var actual = lineString.GetMagnitudeSquared(); actual.Should().Be(expectedMagnitude * expectedMagnitude); }