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); }
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"); }
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"); }
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"); }
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); }
public void ConstructorDefaultTest() { var request = new NearestRoadsRequest(); Assert.IsTrue(request.IsSsl); }