public void Decode_ValidInput_AreEquivalent() { // Arrange var validPolylineCharArray = Defaults.Polyline.Valid.ToCharArray(); // Act var result = PolylineAlgorithm.Decode(validPolylineCharArray); // Assert CollectionAssert.AreEquivalent(Defaults.Coordinate.Valid.ToList(), result.ToList()); }
/// <summary> /// Method performs decode operation and coversion to desired type /// </summary> /// <param name="source">The <see cref="String"/></param> /// <returns>The <see cref="IEnumerable{T}"/></returns> public IEnumerable <T> Decode(string source) { if (String.IsNullOrEmpty(source)) { throw new ArgumentException(ExceptionMessageResource.ArgumentCannotBeNullOrEmpty, nameof(source)); } char[] polyline = source.ToCharArray(); return(PolylineAlgorithm.Decode(polyline) .Select(c => CreateResult(c.Latitude, c.Longitude))); }
public void Decode_InvalidInput_ThrowsException() { // Arrange var invalidPolylineCharrArray = Defaults.Polyline.Invalid.ToCharArray(); // Act void DecodeInvalidPolylineCharArray() { PolylineAlgorithm.Decode(invalidPolylineCharrArray); } // Assert Assert.ThrowsException <InvalidOperationException>(() => DecodeInvalidPolylineCharArray()); }
public void Decode_NullInput_ThrowsException() { // Arrange var nullPolylineCharArray = (char[])null; // Act void DecodeNullPolylineCharArray() { PolylineAlgorithm.Decode(nullPolylineCharArray); } // Assert Assert.ThrowsException <ArgumentException>(() => DecodeNullPolylineCharArray()); }
public void Decode_EmptyInput_ThrowsException() { // Arrange var emptyPolylineCharArray = Defaults.Polyline.Empty.ToCharArray(); // Act void DecodeEmptyPolylineCharArray() { PolylineAlgorithm.Decode(emptyPolylineCharArray); } // Assert Assert.ThrowsException <ArgumentException>(() => DecodeEmptyPolylineCharArray()); }