public void NearestRoadsWhenAsyncTest()
        {
            var request = new NearestRoadsRequest
            {
                Key    = this.ApiKey,
                Points = new[]
                {
                    new Location(60.170880, 24.942795),
                    new Location(60.170879, 24.942796),
                    new Location(60.170877, 24.942796)
                }
            };
            var result = GoogleMaps.NearestRoads.QueryAsync(request).Result;

            Assert.IsNotNull(result);
            Assert.AreEqual(Status.Ok, result.Status);

            var snappedPoints = result.SnappedPoints?.ToArray();

            Assert.IsNotNull(snappedPoints);
            Assert.AreEqual(3, snappedPoints.Length);

            Assert.AreEqual(0, snappedPoints[0].OriginalIndex);
            Assert.AreEqual(60.170877918672588, snappedPoints[0].Location.Latitude, 0.0001);
            Assert.AreEqual(24.942699821922421, snappedPoints[0].Location.Longitude, 0.0001);

            Assert.AreEqual(1, snappedPoints[1].OriginalIndex);
            Assert.AreEqual(60.170876898776406, snappedPoints[1].Location.Latitude, 0.0001);
            Assert.AreEqual(24.942699912064771, snappedPoints[1].Location.Longitude, 0.0001);

            Assert.AreEqual(2, snappedPoints[2].OriginalIndex);
            Assert.AreEqual(60.170874902634374, snappedPoints[2].Location.Latitude, 0.0001);
            Assert.AreEqual(24.942700088491474, snappedPoints[2].Location.Longitude, 0.0001);
        }
        public void GetQueryStringParametersTest()
        {
            var request = new NearestRoadsRequest
            {
                Key    = "key",
                Points = new[]
                {
                    new Coordinate(1, 1),
                    new Coordinate(2, 2)
                }
            };

            var queryStringParameters = request.GetQueryStringParameters();

            Assert.IsNotNull(queryStringParameters);

            var key         = queryStringParameters.SingleOrDefault(x => x.Key == "key");
            var keyExpected = request.Key;

            Assert.IsNotNull(key);
            Assert.AreEqual(keyExpected, key.Value);

            var points         = queryStringParameters.FirstOrDefault(x => x.Key == "points");
            var pointsExpected = string.Join("|", request.Points);

            Assert.IsNotNull(points);
            Assert.AreEqual(pointsExpected, points.Value);
        }
        public void NearestRoadsAsyncTest()
        {
            var request = new NearestRoadsRequest
            {
                Key    = this.ApiKey,
                Points = new[] { new Entities.Maps.Roads.Common.Location(0, 0) }
            };
            var result = GoogleMaps.NearestRoads.QueryAsync(request).Result;

            Assert.IsNotNull(result);
            Assert.AreEqual(Status.Ok, result.Status);
        }
        public void NearestRoadsWhenPointsIsNullTest()
        {
            var request = new NearestRoadsRequest
            {
                Key = this.ApiKey
            };

            var exception = Assert.Throws <ArgumentException>(() => GoogleMaps.NearestRoads.Query(request));

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "Points is required");
        }
        public void NearestRoadsWhenPointsIsEmptyTest()
        {
            var request = new NearestRoadsRequest
            {
                Key    = this.ApiKey,
                Points = new Entities.Maps.Roads.Common.Location[0]
            };

            var exception = Assert.Throws <ArgumentException>(() => GoogleMaps.NearestRoads.Query(request));

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "Points is required.");
        }
        public void NearestRoadsWhenKeyIsNullTest()
        {
            var request = new NearestRoadsRequest
            {
                Key    = null,
                Points = new[] { new Entities.Maps.Roads.Common.Location(0, 0) }
            };

            var exception = Assert.Throws <ArgumentException>(() => GoogleMaps.NearestRoads.Query(request));

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "Key is required.");
        }
        public void NearestRoadsWhenKeyIsStringEmptyTest()
        {
            var request = new NearestRoadsRequest
            {
                Key    = string.Empty,
                Points = new[] { new Location(0, 0) }
            };

            var exception = Assert.Throws <ArgumentException>(() => GoogleMaps.NearestRoads.Query(request));

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "Key is required");
        }
        public void GetQueryStringParametersTest()
        {
            var request = new NearestRoadsRequest
            {
                Key    = "abc",
                Points = new[]
                {
                    new Location(1, 1),
                    new Location(2, 2)
                }
            };

            Assert.DoesNotThrow(() => request.GetQueryStringParameters());
        }
        public void GetQueryStringParametersWhenPointsIsNullTest()
        {
            var request = new NearestRoadsRequest
            {
                Key = "key"
            };

            var exception = Assert.Throws <ArgumentException>(() =>
            {
                var parameters = request.GetQueryStringParameters();
                Assert.IsNull(parameters);
            });

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "'Points' is required");
        }
        public void GetQueryStringParametersWhenKeyIsStringEmptyTest()
        {
            var request = new NearestRoadsRequest
            {
                Key = string.Empty
            };

            var exception = Assert.Throws <ArgumentException>(() =>
            {
                var parameters = request.GetQueryStringParameters();
                Assert.IsNull(parameters);
            });

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "'Key' is required");
        }
        public void GetQueryStringParametersWhenPathCotaninsMoreThanHundredLocationsTest()
        {
            var request = new NearestRoadsRequest
            {
                Key    = "abc",
                Points = new Coordinate[101]
            };

            var exception = Assert.Throws <ArgumentException>(() =>
            {
                var parameters = request.GetQueryStringParameters();
                Assert.IsNull(parameters);
            });

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "'Points' must contain equal or less than 100 coordinates");
        }
        public void NearestRoadsTest()
        {
            var request = new NearestRoadsRequest
            {
                Key    = this.ApiKey,
                Points = new[]
                {
                    new Entities.Maps.Roads.Common.Location(60.170880, 24.942795),
                    new Entities.Maps.Roads.Common.Location(60.170879, 24.942796),
                    new Entities.Maps.Roads.Common.Location(60.170877, 24.942796)
                }
            };
            var result = GoogleMaps.NearestRoads.Query(request);

            Assert.IsNotNull(result);
            Assert.AreEqual(Status.Ok, result.Status);
        }
        public void NearestRoadsWhenAsyncTest()
        {
            var request = new NearestRoadsRequest
            {
                Key    = this.ApiKey,
                Points = new[]
                {
                    new Coordinate(60.170880, 24.942795),
                    new Coordinate(60.170879, 24.942796),
                    new Coordinate(60.170877, 24.942796)
                }
            };
            var result = GoogleMaps.NearestRoads.QueryAsync(request).Result;

            Assert.IsNotNull(result);
            Assert.AreEqual(Status.Ok, result.Status);
        }
Exemple #14
0
        public void GetQueryStringParametersWhenPathCotaninsMoreThan100LocationsTest()
        {
            var request = new NearestRoadsRequest
            {
                Key    = this.ApiKey,
                Points = new Location[101]
            };

            var exception = Assert.Throws <ArgumentException>(() =>
            {
                var parameters = request.GetQueryStringParameters();
                Assert.IsNull(parameters);
            });

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "Path must contain less than 100 locations");
        }
Exemple #15
0
        public void GetQueryStringParametersWhenPointsIsEmptyTest()
        {
            var request = new NearestRoadsRequest
            {
                Key    = this.ApiKey,
                Points = new Location[0]
            };

            var exception = Assert.Throws <ArgumentException>(() =>
            {
                var parameters = request.GetQueryStringParameters();
                Assert.IsNull(parameters);
            });

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "Points is required");
        }
Exemple #16
0
        public void GetQueryStringParametersWhenKeyIsNullTest()
        {
            var request = new NearestRoadsRequest
            {
                Key    = null,
                Points = new[] { new Location(0, 0) }
            };

            var exception = Assert.Throws <ArgumentException>(() =>
            {
                var parameters = request.GetQueryStringParameters();
                Assert.IsNull(parameters);
            });

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "Key is required");
        }
        public void GetUriTest()
        {
            var request = new NearestRoadsRequest
            {
                Key    = "abc",
                Points = new[]
                {
                    new Location(1, 1),
                    new Location(2, 2)
                }
            };

            var uri = request.GetUri();

            Assert.IsNotNull(uri);
            Assert.AreEqual($"/v1/nearestRoads?key={request.Key}&points={Uri.EscapeDataString(string.Join("|", request.Points))}", uri.PathAndQuery);
        }
        public void NearestRoadsWhenAsyncAndCancelledTest()
        {
            var request = new NearestRoadsRequest
            {
                Key    = this.ApiKey,
                Points = new[] { new Location(0, 0) }
            };
            var cancellationTokenSource = new CancellationTokenSource();
            var task = GoogleMaps.NearestRoads.QueryAsync(request, cancellationTokenSource.Token);

            cancellationTokenSource.Cancel();

            var exception = Assert.Throws <OperationCanceledException>(() => task.Wait(cancellationTokenSource.Token));

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "The operation was canceled.");
        }
        public void NearestRoadsWhenPointsIsNullTest()
        {
            var request = new NearestRoadsRequest
            {
                Key = this.ApiKey
            };

            var exception = Assert.Throws <AggregateException>(() => GoogleMaps.NearestRoads.QueryAsync(request).Wait());

            Assert.IsNotNull(exception);

            var innerException = exception.InnerException;

            Assert.IsNotNull(innerException);
            Assert.AreEqual(typeof(GoogleApiException), innerException.GetType());
            Assert.AreEqual(innerException.Message, "Points is required");
        }
        public void NearestRoadsWhenKeyIsStringEmptyTest()
        {
            var request = new NearestRoadsRequest
            {
                Key    = string.Empty,
                Points = new[] { new Location(0, 0) }
            };

            var exception = Assert.Throws <AggregateException>(() => GoogleMaps.NearestRoads.QueryAsync(request).Wait());

            Assert.IsNotNull(exception);

            var innerException = exception.InnerException;

            Assert.IsNotNull(innerException);
            Assert.AreEqual(typeof(GoogleApiException), innerException.GetType());
            Assert.AreEqual(innerException.Message, "Key is required");
        }
Exemple #21
0
        public void NearestRoadsWhenPointsIsEmptyTest()
        {
            var request = new NearestRoadsRequest
            {
                Key    = this.ApiKey,
                Points = new Location[0]
            };

            var exception = Assert.Throws <AggregateException>(() => GoogleMaps.NearestRoads.Query(request));

            Assert.IsNotNull(exception);
            Assert.AreEqual("One or more errors occurred.", exception.Message);

            var innerException = exception.InnerException;

            Assert.IsNotNull(innerException);
            Assert.AreEqual(typeof(GoogleApiException), innerException.GetType());
            Assert.AreEqual(innerException.Message, "Points is required");
        }
        public void NearestRoadsWhenAsyncAndTimeoutTest()
        {
            var request = new NearestRoadsRequest
            {
                Key    = this.ApiKey,
                Points = new[] { new Location(0, 0) }
            };
            var exception = Assert.Throws <AggregateException>(() =>
            {
                var result = GoogleMaps.NearestRoads.QueryAsync(request, TimeSpan.FromMilliseconds(1)).Result;
                Assert.IsNull(result);
            });

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "One or more errors occurred.");

            var innerException = exception.InnerException;

            Assert.IsNotNull(innerException);
            Assert.AreEqual(innerException.GetType(), typeof(TaskCanceledException));
            Assert.AreEqual(innerException.Message, "A task was canceled.");
        }
        public void NearestRoadsWhenInvalidKeyTest()
        {
            var request = new NearestRoadsRequest
            {
                Key    = "test",
                Points = new[]
                {
                    new Location(60.170880, 24.942795),
                    new Location(60.170879, 24.942796),
                    new Location(60.170877, 24.942796)
                }
            };

            var exception = Assert.Throws <AggregateException>(() => GoogleMaps.NearestRoads.QueryAsync(request).Wait());

            Assert.IsNotNull(exception);

            var innerException = exception.InnerExceptions.FirstOrDefault();

            Assert.IsNotNull(innerException);
            Assert.AreEqual(typeof(GoogleApiException).ToString(), innerException.GetType().ToString());
            Assert.AreEqual("Response status code does not indicate success: 400 (Bad Request).", innerException.Message);
        }
Exemple #24
0
        public void ConstructorDefaultTest()
        {
            var request = new NearestRoadsRequest();

            Assert.IsTrue(request.IsSsl);
        }