public void GetQueryStringParametersWhenRadiusIsGereaterThanFiftyThousandTest() { var request = new PlacesAutoCompleteRequest { Key = "key", Input = "input", Radius = 50001 }; var exception = Assert.Throws <ArgumentException>(() => { var parameters = request.GetQueryStringParameters(); Assert.IsNull(parameters); }); Assert.AreEqual(exception.Message, "'Radius' must be greater than or equal to 1 and less than or equal to 50.000"); }
public void GetUriWhenComponentsTest() { var request = new PlacesAutoCompleteRequest { Key = "abc", Input = "abc", Components = new[] { new KeyValuePair <Component, string>(Component.Administrative_Area, "abc") } }; var uri = request.GetUri(); Assert.IsNotNull(uri); Assert.AreEqual($"/maps/api/place/autocomplete/json?key={request.Key}&input={request.Input}&language={request.Language.ToCode()}&components={Uri.EscapeDataString(string.Join("|", request.Components.Select(x => $"{x.Key.ToString().ToLower()}:{x.Value}")))}", uri.PathAndQuery); }
public void GetQueryStringParametersWhenRadiusIsLessThanOneTest() { var request = new PlacesAutoCompleteRequest { Key = "abc", Input = "abc", Radius = 0 }; var exception = Assert.Throws <ArgumentException>(() => { var parameters = request.GetQueryStringParameters(); Assert.IsNull(parameters); }); Assert.AreEqual(exception.Message, "Radius must be greater than or equal to 1 and less than or equal to 50.000"); }
public void PlacesAutoCompleteWhenKeyIsStringEmptyTest() { var request = new PlacesAutoCompleteRequest { Key = string.Empty }; var exception = Assert.Throws <AggregateException>(() => GooglePlaces.AutoComplete.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 PlacesDetailsTest() { var request = new PlacesAutoCompleteRequest { Key = ApiKey, Input = "jagtvej 2200 K�benhavn" }; var response = GooglePlaces.AutoComplete.Query(request); var request2 = new PlacesDetailsRequest { Key = ApiKey, PlaceId = response.Predictions.Select(x => x.PlaceId).FirstOrDefault() }; var response2 = GooglePlaces.Details.Query(request2); Assert.IsNotNull(response2); Assert.AreEqual(Status.Ok, response2.Status); var result = response2.Result; Assert.IsNotNull(result); Assert.IsNotNull(result.Url); Assert.IsNotNull(result.Icon); Assert.IsNotNull(result.PlaceId); Assert.IsNotNull(result.Vicinity); Assert.IsNotNull(result.UtcOffset); Assert.IsNotNull(result.AdrAddress); Assert.IsNotNull(result.Geometry); Assert.IsNotNull(result.Geometry.Location); Assert.Contains(PlaceLocationType.Route, result.Types.ToArray()); Assert.AreEqual(BusinessStatus.Operational, result.BusinessStatus); var formattedAddress = result.FormattedAddress.ToLower(); Assert.IsNotNull(formattedAddress); Assert.IsTrue(formattedAddress.Contains("jagtvej")); Assert.IsTrue(formattedAddress.Contains("k�benhavn")); var addressComponents = result.AddressComponents?.ToArray(); Assert.IsNotNull(addressComponents); Assert.GreaterOrEqual(addressComponents.Length, 4); }
public void PlacesAutoCompleteTest() { var request = new PlacesAutoCompleteRequest { Key = this.ApiKey, Input = "jagtvej 2200 København", Types = new List <RestrictPlaceType> { RestrictPlaceType.Address } }; var response = GooglePlaces.AutoComplete.Query(request); Assert.IsNotNull(response); Assert.AreEqual(Status.Ok, response.Status); var results = response.Predictions.ToArray(); Assert.IsNotNull(results); Assert.IsNotEmpty(results); Assert.AreEqual(1, results.Length); var result = results.FirstOrDefault(); Assert.IsNotNull(result); Assert.IsNotNull(result.Terms); Assert.IsNotNull(result.PlaceId); Assert.IsNotNull(result.StructuredFormatting); var description = result.Description.ToLower(); Assert.IsTrue(description.Contains("2200"), "1"); Assert.IsTrue(description.Contains("jagtvej"), "2"); var matchedSubstrings = result.MatchedSubstrings.ToArray(); Assert.IsNotNull(matchedSubstrings); Assert.AreEqual(2, matchedSubstrings.Length); var types = result.Types.ToArray(); Assert.IsNotNull(types); Assert.Contains(PlaceLocationType.Route, types); Assert.Contains(PlaceLocationType.Geocode, types); }
public void PlacesAutoCompleteWhenInputIsNullTest() { var request = new PlacesAutoCompleteRequest { Key = this.ApiKey, Input = null }; var exception = Assert.Throws <AggregateException>(() => GooglePlaces.AutoComplete.QueryAsync(request).Wait()); Assert.IsNotNull(exception); var innerException = exception.InnerException; Assert.IsNotNull(innerException); Assert.AreEqual(typeof(GoogleApiException), innerException.GetType()); Assert.AreEqual(innerException.Message, "Input is required"); }
public void PlacesAutoCompleteWhenInvalidKeyTest() { var request = new PlacesAutoCompleteRequest { Key = "test", Input = "jagtvej 2200 København" }; var exception = Assert.Throws <AggregateException>(() => GooglePlaces.AutoComplete.QueryAsync(request).Wait()); Assert.IsNotNull(exception); var innerException = exception.InnerExceptions.FirstOrDefault(); Assert.IsNotNull(innerException); Assert.AreEqual(typeof(GoogleApiException), innerException.GetType()); Assert.AreEqual("RequestDenied: The provided API key is invalid.", innerException.Message); }
public void GetQueryStringParametersWhenStrictBoundsTest() { var request = new PlacesAutoCompleteRequest { Key = "key", Input = "input", Strictbounds = true }; var queryStringParameters = request.GetQueryStringParameters(); Assert.IsNotNull(queryStringParameters); var strictbounds = queryStringParameters.FirstOrDefault(x => x.Key == "strictbounds"); Assert.IsNotNull(strictbounds); Assert.Null(strictbounds.Value); }
public void PlacesAutoCompleteWhenKeyIsNullTest() { var request = new PlacesAutoCompleteRequest { Key = null }; var exception = Assert.Throws <AggregateException>(() => GooglePlaces.AutoComplete.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, "Key is required"); }
public void PlacesAutoCompleteWhenAsyncAndCancelledTest() { var request = new PlacesAutoCompleteRequest { Key = this.ApiKey, Input = "jagtvej 2200" }; var cancellationTokenSource = new CancellationTokenSource(); var task = GooglePlaces.AutoComplete.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 GetQueryStringParametersWhenRadiusTest() { var request = new PlacesAutoCompleteRequest { Key = "key", Input = "input", Radius = 100 }; var queryStringParameters = request.GetQueryStringParameters(); Assert.IsNotNull(queryStringParameters); var radius = queryStringParameters.FirstOrDefault(x => x.Key == "radius"); var radiusExpected = request.Radius.ToString(); Assert.IsNotNull(radius); Assert.AreEqual(radiusExpected, radius.Value); }
public void GetQueryStringParametersWhenOriginTest() { var request = new PlacesAutoCompleteRequest { Key = "key", Input = "input", Location = new Coordinate(1, 1) }; var queryStringParameters = request.GetQueryStringParameters(); Assert.IsNotNull(queryStringParameters); var origin = queryStringParameters.FirstOrDefault(x => x.Key == "origin"); var originExpected = request.Origin; Assert.IsNotNull(origin); Assert.AreEqual(originExpected, origin.Value); }
public void PlacesQueryAutoCompleteWhenOffsetTest() { var request = new PlacesAutoCompleteRequest { Key = "key", Input = "input", Offset = "offset" }; var queryStringParameters = request.GetQueryStringParameters(); Assert.IsNotNull(queryStringParameters); var offset = queryStringParameters.FirstOrDefault(x => x.Key == "offset"); var offsetExpected = request.Offset; Assert.IsNotNull(offset); Assert.AreEqual(offsetExpected, offset.Value); }
public void PlacesAutoCompleteWhenRadiusIsGereaterThanFiftyThousandTest() { var request = new PlacesAutoCompleteRequest { Key = this.ApiKey, Input = "abc", Radius = 50001 }; var exception = Assert.Throws <AggregateException>(() => GooglePlaces.AutoComplete.QueryAsync(request).Wait()); Assert.IsNotNull(exception); var innerException = exception.InnerException; Assert.IsNotNull(innerException); Assert.AreEqual(typeof(GoogleApiException), innerException.GetType()); Assert.AreEqual(innerException.Message, "Radius must be greater than or equal to 1 and less than or equal to 50.000"); }
public void PlacesAutoCompleteWhenRadiusIsLessThanOneTest() { var request = new PlacesAutoCompleteRequest { Key = this.ApiKey, Input = "abc", Radius = 0 }; var exception = Assert.Throws <AggregateException>(() => GooglePlaces.AutoComplete.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, "Radius must be greater than or equal to 1 and less than or equal to 50.000"); }
public void PlacesAutoCompleteAsyncTest() { var request = new PlacesAutoCompleteRequest { Key = this.apiKey, Input = "jagtvej 2200", Sensor = true, Language = "en", }; var response = GooglePlaces.AutoComplete.QueryAsync(request).Result; var results = response.Predictions.ToArray(); Assert.AreEqual(results[0].Description, "Jagtvej, 2200 Denmark"); Assert.AreEqual(results[1].Description, "Jagtvej, 2200 Copenhagen, Denmark"); Assert.AreEqual(results[2].Description, "Jagtvej 2200, Lemvig, Denmark"); Assert.AreEqual(results[3].Description, "Jagtvej 2200, Denmark"); Assert.AreEqual(results[4].Description, "Jagtvej 2200, Næstved, Denmark"); Assert.AreEqual(5, results.Length); }
public void PlacesAutoCompleteTest() { var _request = new PlacesAutoCompleteRequest { ApiKey = _apiKey, Input = "jagtvej 2200", Sensor = true, Language = "en", }; var _response = GooglePlaces.AutoComplete.Query(_request); var _results = _response.Predictions.ToList(); Assert.AreEqual(_results[0].Description, "Jagtvej 2200, Copenhagen, Denmark"); Assert.AreEqual(_results[1].Description, "2200 Jagtvej, Nuuk, Greenland"); Assert.AreEqual(_results[2].Description, "Jagtvej 2200, Odense, Denmark"); Assert.AreEqual(_results[3].Description, "Jagtvej 2200, Esbjerg, Denmark"); Assert.AreEqual(_results[4].Description, "Jagtvej 2200, Naestved, Denmark"); Assert.AreEqual(5, _results.Count); }
public void PlacesAutoCompleteTest() { var _request = new PlacesAutoCompleteRequest { Key = this._apiKey, Input = "jagtvej 2200", Sensor = true, Language = "en", }; var _response = GooglePlaces.AutoComplete.Query(_request); var _results = _response.Predictions.ToList(); Assert.AreEqual(_results[0].Description, "Jagtvej 2200, Denmark"); Assert.AreEqual(_results[1].Description, "Jagtvej, 2200 Copenhagen, Denmark"); Assert.AreEqual(_results[2].Description, "Jagtvej 2200, Hillerød, Denmark"); Assert.AreEqual(_results[3].Description, "Jagtvej 2200, Fredensborg, Denmark"); Assert.AreEqual(_results[4].Description, "Jagtvej, 2200 Denmark"); Assert.AreEqual(5, _results.Count); }
public void PlacesDetailsAsyncTest() { var request = new PlacesAutoCompleteRequest { Key = ApiKey, Input = "jagtvej 2200" }; var response = GooglePlaces.AutoComplete.QueryAsync(request).Result; var results = response.Predictions.ToArray(); var result = results.First(); var request2 = new PlacesDetailsRequest { Key = ApiKey, PlaceId = result.PlaceId }; var response2 = GooglePlaces.Details.Query(request2); Assert.AreEqual(Status.Ok, response2.Status); }
public void PlacesDetailsWhenFieldsTest() { var request = new PlacesAutoCompleteRequest { Key = ApiKey, Input = "jagtvej 2200 København" }; var response = GooglePlaces.AutoComplete.Query(request); var request2 = new PlacesDetailsRequest { Key = ApiKey, PlaceId = response.Predictions.Select(x => x.PlaceId).FirstOrDefault(), Fields = FieldTypes.Place_Id }; var response2 = GooglePlaces.Details.Query(request2); Assert.IsNotNull(response2); Assert.AreEqual(Status.Ok, response2.Status); Assert.IsNotNull(response2.Result.PlaceId); }
public void PlaceGeocodeWhenAsyncTest() { var autoCompleteRequest = new PlacesAutoCompleteRequest { Key = this.ApiKey, Input = "285 Bedford Ave, Brooklyn, NY 11211, USA" }; var autoCompleteResponse = GooglePlaces.AutoComplete.Query(autoCompleteRequest); var placeId = autoCompleteResponse.Predictions.Select(x => x.PlaceId).FirstOrDefault(); var request = new PlaceGeocodeRequest { Key = this.ApiKey, PlaceId = placeId }; var result = GoogleMaps.PlaceGeocode.QueryAsync(request).Result; Assert.IsNotNull(result); Assert.AreEqual(Status.Ok, result.Status); }
public void PlacesAutoCompleteWhenAsyncAndTimeoutTest() { var request = new PlacesAutoCompleteRequest { Key = this.ApiKey, Input = "jagtvej 2200" }; var exception = Assert.Throws <AggregateException>(() => { var result = GooglePlaces.AutoComplete.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 GetQueryStringParametersWhenTypesTest() { var request = new PlacesAutoCompleteRequest { Key = "key", Input = "input", Types = new[] { RestrictPlaceType.Address, RestrictPlaceType.Cities } }; var queryStringParameters = request.GetQueryStringParameters(); Assert.IsNotNull(queryStringParameters); var types1 = queryStringParameters.FirstOrDefault(x => x.Key == "types"); var types1Expected = string.Join("|", request.Types.Select(x => x == RestrictPlaceType.Cities || x == RestrictPlaceType.Regions ? $"({x.ToString().ToLower()})" : $"{x.ToString().ToLower()}")); Assert.IsNotNull(types1); Assert.AreEqual(types1Expected, types1.Value); }
public void GetQueryStringParametersWhenComponentsTest() { var request = new PlacesAutoCompleteRequest { Key = "key", Input = "input", Components = new[] { new KeyValuePair <Component, string>(Component.Country, "country"), new KeyValuePair <Component, string>(Component.Locality, "locality") } }; var queryStringParameters = request.GetQueryStringParameters(); Assert.IsNotNull(queryStringParameters); var components1 = queryStringParameters.FirstOrDefault(x => x.Key == "components"); var components1Expected = string.Join("|", request.Components.Select(x => $"{x.Key.ToString().ToLower()}:{x.Value}")); Assert.IsNotNull(components1); Assert.AreEqual(components1Expected, components1.Value); }
private async void GetAutoCompleteListAsync(AutoCompleteListEventArgs e) { try { if (mleAddress.Text.Count() > 3) { var request = new PlacesAutoCompleteRequest { Key = MiscStuff.googleApiKey, Input = mleAddress.Text, Types = new List <RestrictPlaceType> { RestrictPlaceType.Address } }; var response = await GooglePlaces.AutoComplete.QueryAsync(request); if (response.Status == GoogleApi.Entities.Common.Enums.Status.Ok) { e.AutoCompleteList.Clear(); count = 0; foreach (var place in response.Predictions) { e.AutoCompleteList.Add(place.Description); autoAddress = place.Description; count++; } } } } catch (Exception ex) { MessageBox.Show(MiscStuff.GetAllMessages(ex)); } }
public void PlacesAutoCompleteTest() { var request = new PlacesAutoCompleteRequest { Key = this.ApiKey, Input = "jagtvej 2200", Sensor = true }; var response = GooglePlaces.AutoComplete.Query(request); Assert.IsNotNull(response); Assert.AreEqual(Status.Ok, response.Status); var results = response.Predictions.ToArray(); Assert.IsNotNull(results); Assert.AreEqual(results[0].Description, "Jagtvej, 2200 København N, Denmark"); Assert.AreEqual(results[1].Description, "Jagtvej, 2200 Copenhagen, Denmark"); Assert.AreEqual(results[2].Description, "Jagtvej 2200, Lemvig, Denmark"); Assert.AreEqual(results[3].Description, "Jagtvej 2200, Odense C, Denmark"); Assert.AreEqual(results[4].Description, "Jagtvej 2200, Næstved, Denmark"); Assert.AreEqual(5, results.Length); }
private void AddressChange(DialogResult dr, String addressChosen) { if (dr == DialogResult.OK) { textBoxCountry.Text = String.Empty; textBoxPostcode.Text = String.Empty; textBoxStreet.Text = String.Empty; comboBoxEditState.Text = String.Empty; textBoxSuburb.Text = String.Empty; mleAddress.Text = addressChosen; try { var request = new PlacesAutoCompleteRequest { Key = MiscStuff.googleApiKey, Input = mleAddress.Text }; var response = GooglePlaces.AutoComplete.Query(request); if (response.Status == Status.Ok) { var request2 = new PlacesDetailsRequest { Key = MiscStuff.googleApiKey, PlaceId = response.Predictions.Select(x => x.PlaceId).FirstOrDefault() }; var response2 = GooglePlaces.Details.Query(request2); if (response2.Status == Status.Ok) { var result = response2.Result.FormattedAddress; if (result != null) { mleAddress.Text = result.ToString(); string[] splitAddress = result.Split(','); if (splitAddress.Count() == 3) { textBoxStreet.Text = splitAddress[0]; textBoxCountry.Text = splitAddress[2]; string[] splitAddress2 = splitAddress[1].Split(' '); textBoxPostcode.Text = splitAddress2[splitAddress2.Count() - 1]; comboBoxEditState.Text = ChooseState(splitAddress2[splitAddress2.Count() - 2]); string address3 = splitAddress[1].Replace(splitAddress2[splitAddress2.Count() - 1], string.Empty); address3 = address3.Replace(splitAddress2[splitAddress2.Count() - 2], string.Empty); textBoxSuburb.Text = address3.Trim(); } else { MessageBox.Show("Not a valid address"); } } } } } catch (Exception ex) { MessageBox.Show(MiscStuff.GetAllMessages(ex)); } } }
public void ConstructorDefaultTest() { var request = new PlacesAutoCompleteRequest(); Assert.IsTrue(request.IsSsl); }