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());
        }
Esempio n. 2
0
        /// <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());
        }