/// <summary> /// Method performs conversion to coordinate tuple and encode operation. /// </summary> /// <param name="source">The <see cref="IEnumerable{T}"/></param> /// <returns>The <see cref="String"/></returns> public string Encode(IEnumerable <T> source) { if (source == null || !source.Any()) { throw new ArgumentException(ExceptionMessageResource.ArgumentCannotBeNullOrEmpty, nameof(source)); } var coordinates = source.Select(s => GetCoordinate(s)); return(PolylineAlgorithm.Encode(coordinates)); }
public void Encode_ValidInput_AreEqual() { // Arrange var validCoordinates = Defaults.Coordinate.Valid; // Act var result = PolylineAlgorithm.Encode(validCoordinates); // Assert Assert.AreEqual(Defaults.Polyline.Valid, result); }
public void Encode_InvalidInput_ThrowsException() { // Arrange var invalidCoordinates = Defaults.Coordinate.Invalid; // Act void EncodeInvalidCoordinates() { PolylineAlgorithm.Encode(invalidCoordinates); } // Assert Assert.ThrowsException <AggregateException>(() => EncodeInvalidCoordinates()); }
public void Encode_NullInput_ThrowsException() { // Arrange var nullCoordinates = (IEnumerable <(double, double)>)null; // Act void EncodeNullCoordinates() { PolylineAlgorithm.Encode(nullCoordinates); } // Assert Assert.ThrowsException <ArgumentException>(() => EncodeNullCoordinates()); }
public void Encode_EmptyInput_ThrowsException() { // Arrange var emptyCoordinates = Defaults.Coordinate.Empty; // Act void EncodeEmptyCoordinates() { PolylineAlgorithm.Encode(emptyCoordinates); } // Assert Assert.ThrowsException <ArgumentException>(() => EncodeEmptyCoordinates()); }