public void TestInvalidThirdDimension() { var pairs = new List <LatLngZ>(); pairs.Add(new LatLngZ(50.1022829, 8.6982122)); ThirdDimension invalid = (ThirdDimension)999; Assert.Throws <ArgumentException>(() => { PolylineEncoderDecoder.Encode(pairs, 5, invalid, 0); }); }
public void TestLatLngZEncode() { var tuples = new List <LatLngZ>(); tuples.Add(new LatLngZ(50.1022829, 8.6982122, 10)); tuples.Add(new LatLngZ(50.1020076, 8.6956695, 20)); tuples.Add(new LatLngZ(50.1006313, 8.6914960, 30)); tuples.Add(new LatLngZ(50.0987800, 8.6875156, 40)); var expected = "BlBoz5xJ67i1BU1B7PUzIhaUxL7YU"; var computed = PolylineEncoderDecoder.Encode(tuples, 5, ThirdDimension.Altitude, 0); Assert.AreEqual(computed, expected); }
public void TestSimpleLatLngEncoding() { var pairs = new List <LatLngZ>(); pairs.Add(new LatLngZ(50.1022829, 8.6982122)); pairs.Add(new LatLngZ(50.1020076, 8.6956695)); pairs.Add(new LatLngZ(50.1006313, 8.6914960)); pairs.Add(new LatLngZ(50.0987800, 8.6875156)); var expected = "BFoz5xJ67i1B1B7PzIhaxL7Y"; var computed = PolylineEncoderDecoder.Encode(pairs, 5, ThirdDimension.Absent, 0); Assert.AreEqual(computed, expected); }
public void TestInvalidCoordinates() { //Null coordinates Assert.Throws <ArgumentException>(() => { PolylineEncoderDecoder.Encode(null, 5, ThirdDimension.Absent, 0); }); //Empty coordinates list test Assert.Throws <ArgumentException>(() => { PolylineEncoderDecoder.Encode(new List <LatLngZ>(), 5, ThirdDimension.Absent, 0); }); }
public void EncodedFlexilineMatchesDecodedResultTest() { using (var decodedEnumerator = File.ReadLines("../../../../../../test/round_half_up/decoded.txt").GetEnumerator()) { foreach (var flexiline in File.ReadLines("../../../../../../test/round_half_up/encoded.txt")) { decodedEnumerator.MoveNext(); var testResultStr = decodedEnumerator.Current; var expectedResult = ParseExpectedTestResult(testResultStr); var decoded = PolylineEncoderDecoder.Decode(flexiline); var encoded = PolylineEncoderDecoder.Encode( decoded, expectedResult.Precision.Precision2d, expectedResult.Precision.Type3d, expectedResult.Precision.Precision3d); ThirdDimension thirdDimension = PolylineEncoderDecoder.GetThirdDimension(encoded); Assert.AreEqual(expectedResult.Precision.Type3d, thirdDimension); for (int i = 0; i < decoded.Count; i++) { AssertEqualWithPrecision( expectedResult.Coordinates[i].Lat, decoded[i].Lat, expectedResult.Precision.Precision2d); AssertEqualWithPrecision( expectedResult.Coordinates[i].Lng, decoded[i].Lng, expectedResult.Precision.Precision2d); AssertEqualWithPrecision( expectedResult.Coordinates[i].Z, decoded[i].Z, expectedResult.Precision.Precision3d); } if (flexiline != encoded) { Console.WriteLine($@"WARNING expected {flexiline} but got {encoded}"); } } } }
public void TestComplexLatLngEncoding() { var pairs = new List <LatLngZ>(); pairs.Add(new LatLngZ(52.5199356, 13.3866272)); pairs.Add(new LatLngZ(52.5100899, 13.2816896)); pairs.Add(new LatLngZ(52.4351807, 13.1935196)); pairs.Add(new LatLngZ(52.4107285, 13.1964502)); pairs.Add(new LatLngZ(52.38871, 13.1557798)); pairs.Add(new LatLngZ(52.3727798, 13.1491003)); pairs.Add(new LatLngZ(52.3737488, 13.1154604)); pairs.Add(new LatLngZ(52.3875198, 13.0872202)); pairs.Add(new LatLngZ(52.4029388, 13.0706196)); pairs.Add(new LatLngZ(52.4105797, 13.0755529)); var expected = "BF05xgKuy2xCx9B7vUl0OhnR54EqSzpEl-HxjD3pBiGnyGi2CvwFsgD3nD4vB6e"; var computed = PolylineEncoderDecoder.Encode(pairs, 5, ThirdDimension.Absent, 0); Assert.AreEqual(computed, expected); }