public void GetQueryStringParametersTest()
        {
            var request = new PlaceGeocodeRequest
            {
                Key     = "key",
                PlaceId = "place_id"
            };

            var queryStringParameters = request.GetQueryStringParameters();

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

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

            var language         = queryStringParameters.SingleOrDefault(x => x.Key == "language");
            var languageExpected = request.Language.ToCode();

            Assert.IsNotNull(language);
            Assert.AreEqual(languageExpected, language.Value);

            var location         = queryStringParameters.SingleOrDefault(x => x.Key == "place_id");
            var locationExpected = request.PlaceId;

            Assert.IsNotNull(location);
            Assert.AreEqual(locationExpected, location.Value);
        }
Esempio n. 2
0
        public void PlaceGeocodeTest()
        {
            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.Query(request);

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

            var geocodeResult = result.Results.FirstOrDefault();

            Assert.IsNotNull(geocodeResult);
        }
        public void GetQueryStringParametersTest()
        {
            var request = new PlaceGeocodeRequest
            {
                Key     = "abc",
                PlaceId = "abc"
            };

            Assert.DoesNotThrow(() => request.GetQueryStringParameters());
        }
        public void GetQueryStringParametersWhenKeyIsEmptyTest()
        {
            var request = new PlaceGeocodeRequest
            {
                Key = string.Empty
            };

            var exception = Assert.Throws <ArgumentException>(() => request.GetQueryStringParameters());

            Assert.AreEqual("'Key' is required", exception.Message);
        }
Esempio n. 5
0
        public void PlaceGeocodeWhenPlaceIdIsNullTest()
        {
            var request = new PlaceGeocodeRequest
            {
                Key = this.ApiKey
            };
            var exception = Assert.Throws <ArgumentException>(() => GoogleMaps.PlaceGeocode.Query(request, TimeSpan.FromMilliseconds(1)));

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "PlaceId is required.");
        }
Esempio n. 6
0
        public void LocationGeocodeWhenAsyncTest()
        {
            var request = new PlaceGeocodeRequest
            {
                Key     = this.ApiKey,
                PlaceId = "ChIJo9YpQWBZwokR7OeY0hiWh8g"
            };
            var result = GoogleMaps.PlaceGeocode.QueryAsync(request).Result;

            Assert.IsNotNull(result);
            Assert.AreEqual(Status.Ok, result.Status);
        }
Esempio n. 7
0
        public void PlaceGeocodeTest()
        {
            var request = new PlaceGeocodeRequest
            {
                Key     = this.ApiKey,
                PlaceId = "ChIJo9YpQWBZwokR7OeY0hiWh8g"
            };

            var response = GoogleMaps.PlaceGeocode.Query(request);

            Assert.IsNotNull(response);
            Assert.AreEqual(Status.Ok, response.Status);
        }
Esempio n. 8
0
        public void PlaceGeocodeWhenClientCredentialsIsInvalidTest()
        {
            var request = new PlaceGeocodeRequest
            {
                ClientId = "abc",
                Key      = "abc",
                PlaceId  = "test"
            };
            var exception = Assert.Throws <ArgumentException>(() => GoogleMaps.PlaceGeocode.Query(request));

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "ClientId must begin with 'gme-'");
        }
        public void GetUriTest()
        {
            var request = new PlaceGeocodeRequest
            {
                Key     = "abc",
                PlaceId = "abc"
            };

            var uri = request.GetUri();

            Assert.IsNotNull(uri);
            Assert.AreEqual($"/maps/api/geocode/json?key={request.Key}&language={request.Language.ToCode()}&place_id={Uri.EscapeDataString(request.PlaceId)}", uri.PathAndQuery);
        }
        public void GetQueryStringParametersWhenPlaceIdIsNullTest()
        {
            var request = new PlaceGeocodeRequest
            {
                Key = "abc"
            };

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

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "PlaceId is required");
        }
Esempio n. 11
0
        public void PlaceGeocodeWhenKeyIsNullTest()
        {
            var request = new PlaceGeocodeRequest
            {
                PlaceId = "test"
            };

            var exception = Assert.Throws <AggregateException>(() => GoogleMaps.PlaceGeocode.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");
        }
Esempio n. 12
0
        public void LocationGeocodeWhenAsyncAndCancelledTest()
        {
            var request = new PlaceGeocodeRequest
            {
                Key     = this.ApiKey,
                PlaceId = "ChIJo9YpQWBZwokR7OeY0hiWh8g"
            };
            var cancellationTokenSource = new CancellationTokenSource();
            var task = GoogleMaps.PlaceGeocode.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.");
        }
Esempio n. 13
0
        public void PlaceGeocodeWhenPlaceIdIsNullTest()
        {
            var request = new PlaceGeocodeRequest
            {
                Key = this.ApiKey
            };

            var exception = Assert.Throws <AggregateException>(() => GoogleMaps.PlaceGeocode.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, "PlaceId is required");
        }
Esempio n. 14
0
        public void PlaceGeocodeWhenClientCredentialsIsInvalidTest()
        {
            var request = new PlaceGeocodeRequest
            {
                ClientId = "abc",
                Key      = "abc",
                PlaceId  = "test"
            };

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

            Assert.IsNotNull(exception);

            var innerException = exception.InnerException;

            Assert.IsNotNull(innerException);
            Assert.AreEqual(typeof(GoogleApiException), innerException.GetType());
            Assert.AreEqual(innerException.Message, "ClientId must begin with 'gme-'");
        }
        public void GetQueryStringParametersWhenChannelTest()
        {
            var request = new PlaceGeocodeRequest
            {
                Key     = "key",
                PlaceId = "place_id",
                Channel = "channel"
            };

            var queryStringParameters = request.GetQueryStringParameters();

            Assert.IsNotNull(queryStringParameters);

            var channel         = queryStringParameters.FirstOrDefault(x => x.Key == "channel");
            var channelExpected = request.Channel;

            Assert.IsNotNull(channel);
            Assert.AreEqual(channelExpected, channel.Value);
        }
Esempio n. 16
0
        public void PlaceGeocodeWhenAsyncAndTimeoutTest()
        {
            var request = new PlaceGeocodeRequest
            {
                Key     = this.ApiKey,
                PlaceId = "abc"
            };
            var exception = Assert.Throws <AggregateException>(() =>
            {
                var result = GoogleMaps.PlaceGeocode.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 ConstructorDefaultTest()
        {
            var request = new PlaceGeocodeRequest();

            Assert.IsTrue(request.IsSsl);
        }
        public void ConstructorDefaultTest()
        {
            var request = new PlaceGeocodeRequest();

            Assert.AreEqual(Language.English, request.Language);
        }