Geocoding Request.
Inheritance: GoogleApi.Entities.Maps.Common.BaseMapsRequest, IQueryStringRequest
Esempio n. 1
0
        public void GeocodingTest()
        {
            var _request = new GeocodingRequest { Address = "285 Bedford Ave, Brooklyn, NY 11211, USA" };
            var _result = GoogleMaps.Geocode.Query(_request);

            if (_result.Status == Status.OVER_QUERY_LIMIT)
                Assert.Inconclusive("Cannot run test since you have exceeded your Google API query limit.");

            Assert.AreEqual(Status.OK, _result.Status);
            Assert.AreEqual("40.7140415,-73.9613119", _result.Results.First().Geometry.Location.LocationString);
        }
Esempio n. 2
0
        public void ReverseGeocodingReturnsCorrectAddressTest()
        {
            var _request = new GeocodingRequest { Location = new Location(40.7141289, -73.9614074) };

            var _result = GoogleMaps.Geocode.Query(_request);

            if (_result.Status == Status.OVER_QUERY_LIMIT)
                Assert.Inconclusive("Cannot run test since you have exceeded your Google API query limit.");

            Assert.AreEqual(Status.OK, _result.Status);
            Assert.AreEqual("285 Bedford Avenue, Brooklyn, NY 11211, USA", _result.Results.First().FormattedAddress);
        }
Esempio n. 3
0
        public void GeocodingTimeoutTooShortThrowsTest()
        {
            var _request = new GeocodingRequest { Address = "285 Bedford Ave, Brooklyn, NY 11211, USA" };

            MapsTest.ThrowInnerException(() => GoogleMaps.Geocode.Query(_request, TimeSpan.FromMilliseconds(1)));
        }
Esempio n. 4
0
        public void GeocodingInvalidClientCredentialsThrowsTest()
        {
            var _request = new GeocodingRequest { Address = "285 Bedford Ave, Brooklyn, NY 11211, USA", ClientId = "gme-ThisIsAUnitTest", SigningKey = "AAECAwQFBgcICQoLDA0ODxAREhM=" };

            MapsTest.ThrowInnerException(() => GoogleMaps.Geocode.Query(_request));
        }
Esempio n. 5
0
        public void GeocodingAsyncWithPreCanceledTokenCancelsTest()
        {
            var _request = new GeocodingRequest { Address = "285 Bedford Ave, Brooklyn, NY 11211, USA" };
            var _cts = new CancellationTokenSource();
            _cts.Cancel();

            var _task = GoogleMaps.Geocode.QueryAsync(_request, _cts.Token);
            MapsTest.ThrowInnerException(_task);
        }
Esempio n. 6
0
        public void ReverseGeocodingTest()
        {
            var request = new GeocodingRequest { Location = new Location(40.7141289, -73.9614074) };
            var response = GoogleMaps.Geocode.Query(request);

            if (response.Status == Status.OverQueryLimit)
                Assert.Inconclusive("Cannot run test since you have exceeded your Google API query limit.");

            Assert.AreEqual(Status.Ok, response.Status);
            Assert.AreEqual("285 Bedford Ave, Brooklyn, NY 11211, USA", response.Results.First().FormattedAddress);
        }
Esempio n. 7
0
 public void GeocodingWhenTimeoutTest()
 {
     var request = new GeocodingRequest { Address = "285 Bedford Ave, Brooklyn, NY 11211, USA" };
     Assert.Throws<WebException>(() =>
     {
         try
         {
             GoogleMaps.Geocode.Query(request, TimeSpan.FromMilliseconds(1));
         }
         catch (AggregateException ex)
         {
             throw ex.InnerException ?? ex;
         }
     });
 }
Esempio n. 8
0
 public void GeocodingWhenInvalidClientCredentialsTest()
 {
     var request = new GeocodingRequest { Address = "285 Bedford Ave, Brooklyn, NY 11211, USA", ClientId = "gme-ThisIsAUnitTest", Key = "AAECAwQFBgcICQoLDA0ODxAREhM=" };
     Assert.Throws<WebException>(() =>
     {
         try
         {
             GoogleMaps.Geocode.Query(request);
         }
         catch (AggregateException ex)
         {
             throw ex.InnerException ?? ex;
         }
     });
 }
Esempio n. 9
0
        public void GeocodingTest()
        {
            var request = new GeocodingRequest { Address = "285 Bedford Ave, Brooklyn, NY 11211, USA" };
            var result = GoogleMaps.Geocode.Query(request);

            if (result.Status == Status.OverQueryLimit)
                Assert.Inconclusive("Cannot run test since you have exceeded your Google API query limit.");

            Assert.AreEqual(Status.Ok, result.Status);
            Assert.AreEqual(40.7140415, result.Results.First().Geometry.Location.Latitude, 0.001);
            Assert.AreEqual(-73.9613119, result.Results.First().Geometry.Location.Longitude, 0.001);
        }
Esempio n. 10
0
        public void GeocodingAsyncCancelledTest()
        {
            var request = new GeocodingRequest { Address = "285 Bedford Ave, Brooklyn, NY 11211, USA" };

            var cancellationTokenSource = new CancellationTokenSource();
            var task = GoogleMaps.Geocode.QueryAsync(request, cancellationTokenSource.Token);
            cancellationTokenSource.Cancel();

            Assert.Throws<OperationCanceledException>(() =>
            {
                try
                {
                    task.Wait(cancellationTokenSource.Token);
                }
                catch (AggregateException ex)
                {
                    throw ex.Flatten().InnerException ?? ex;
                }
            });
        }
Esempio n. 11
0
        public void GeocodingAsyncWhenTimeoutTest()
		{
            var _request = new GeocodingRequest { Address = "285 Bedford Ave, Brooklyn, NY 11211, USA" };
            Assert.Throws<TimeoutException>(() => MapsTest.ThrowInnerException(() => GoogleMaps.Geocode.QueryAsync(_request, TimeSpan.FromMilliseconds(1)).Wait()));
		}
Esempio n. 12
0
        public void GeocodingAsyncWhenInvalidClientCredentialsTest()
		{
			var _request = new GeocodingRequest { Address = "285 Bedford Ave, Brooklyn, NY 11211, USA", ClientId = "gme-ThisIsAUnitTest", Key = "AAECAwQFBgcICQoLDA0ODxAREhM=" };
            Assert.Throws<AuthenticationException>(() => MapsTest.ThrowInnerException(() => GoogleMaps.Geocode.QueryAsync(_request).Wait()));
		}
Esempio n. 13
0
        public void GeocodingAsyncCancelThrowsTest()
		{
            var _request = new GeocodingRequest { Address = "285 Bedford Ave, Brooklyn, NY 11211, USA" };

			var _cancellationTokenSource = new CancellationTokenSource();
            var _task = GoogleMaps.Geocode.QueryAsync(_request, _cancellationTokenSource.Token);
			_cancellationTokenSource.Cancel();

            Assert.Throws<TaskCanceledException>(() => MapsTest.ThrowInnerException(_task));
        }