public void ConstructorDefaultTest()
        {
            var request = new PlusCodeGeocodeRequest();

            Assert.AreEqual(Language.English, request.Language);
            Assert.IsFalse(request.UseEncryptedKey);
        }
        public void GetQueryStringParametersWhenCoordinateTest()
        {
            var request = new PlusCodeGeocodeRequest
            {
                Key     = "abc",
                Address = new Entities.Maps.Geocoding.PlusCode.Request.Location(new Coordinate(1, 1))
            };

            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 language         = queryStringParameters.SingleOrDefault(x => x.Key == "language");
            var languageExpected = request.Language.ToCode();

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

            var address         = queryStringParameters.SingleOrDefault(x => x.Key == "address");
            var addressExpected = request.Address.ToString();

            Assert.IsNotNull(address);
            Assert.AreEqual(addressExpected, address.Value);
        }
Пример #3
0
        public void PlusCodeGeocodeWhenPlaceIdOrLocationOrAddressOrGlobalCodeIsNullTest()
        {
            var request   = new PlusCodeGeocodeRequest();
            var exception = Assert.Throws <ArgumentException>(() => GoogleMaps.PlusCodeGeocode.Query(request));

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "PlaceId, Location, Address or GlobalCode is required.");
        }
        public void GetQueryStringParametersWhenKeyIsNullTest()
        {
            var request = new PlusCodeGeocodeRequest
            {
                Address = new Entities.Maps.Geocoding.PlusCode.Request.Location(new Coordinate(1, 1))
            };

            Assert.DoesNotThrow(() => request.GetQueryStringParameters());
        }
        public void GetQueryStringParametersTest()
        {
            var request = new PlusCodeGeocodeRequest
            {
                Key     = "abc",
                PlaceId = "abc"
            };

            Assert.DoesNotThrow(() => request.GetQueryStringParameters());
        }
Пример #6
0
        public void PlusCodeGeocodeWhenAsyncTest()
        {
            var request = new PlusCodeGeocodeRequest
            {
                Key      = this.ApiKey,
                Location = new Entities.Common.Location(40.71406249999997, -73.9613125)
            };
            var result = GoogleMaps.PlusCodeGeocode.QueryAsync(request).Result;

            Assert.IsNotNull(result);
            Assert.AreEqual(Status.Ok, result.Status);
        }
Пример #7
0
        public void PlusCodeGeocodeWhenAddressTest()
        {
            var request = new PlusCodeGeocodeRequest
            {
                Key     = this.ApiKey,
                Address = new Entities.Maps.Geocoding.PlusCode.Request.Location(new Entities.Common.Address("285 Bedford Ave, Brooklyn, NY 11211, USA"))
            };

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

            Assert.IsNotNull(response);
            Assert.AreEqual(Status.Ok, response.Status);
        }
        public void GetUriWhenAddressTest()
        {
            var request = new PlusCodeGeocodeRequest
            {
                Key     = "abc",
                Address = "abc"
            };

            var uri = request.GetUri();

            Assert.IsNotNull(uri);
            Assert.AreEqual($"/api?ekey={request.Key}&language={request.Language.ToCode()}&address={Uri.EscapeDataString(request.Address)}", uri.PathAndQuery);
        }
        public void GetUriWhenLocationTest()
        {
            var request = new PlusCodeGeocodeRequest
            {
                Key      = "abc",
                Location = new Entities.Common.Location(1, 1)
            };

            var uri = request.GetUri();

            Assert.IsNotNull(uri);
            Assert.AreEqual($"/api?ekey={request.Key}&language={request.Language.ToCode()}&address={Uri.EscapeDataString(request.Location.ToString())}", uri.PathAndQuery);
        }
Пример #10
0
        public void PlusCodeGeocodeWhenLocalCodeAndLocalityTest()
        {
            var request = new PlusCodeGeocodeRequest
            {
                Key     = this.ApiKey,
                Address = new Entities.Maps.Geocoding.PlusCode.Request.Location(new LocalCodeAndLocality("WF8Q+WF Praia", "Cape Verde"))
            };

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

            Assert.IsNotNull(response);
            Assert.AreEqual(Status.Ok, response.Status);
        }
Пример #11
0
        public void PlusCodeGeocodeWhenGlobalCodeTest()
        {
            var request = new PlusCodeGeocodeRequest
            {
                Key     = this.ApiKey,
                Address = new Entities.Maps.Geocoding.PlusCode.Request.Location(new GlobalCode("796RWF8Q+WF"))
            };

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

            Assert.IsNotNull(response);
            Assert.AreEqual(Status.Ok, response.Status);
        }
Пример #12
0
        public void PlusCodeGeocodeWhenLocationWhenKeyIsNullTest()
        {
            var request = new PlusCodeGeocodeRequest
            {
                Address = new Entities.Maps.Geocoding.PlusCode.Request.Location(new Coordinate(40.71406249999997, -73.9613125))
            };
            var response = GoogleMaps.PlusCodeGeocode.Query(request);

            Assert.IsNotNull(response);
            Assert.AreEqual(Status.Ok, response.Status);
            Assert.IsNull(response.PlusCode.Locality.PlaceId);
            Assert.IsNull(response.PlusCode.Locality.Address);
            Assert.AreEqual("87G8P27Q+JF", response.PlusCode.GlobalCode);
        }
Пример #13
0
        public void PlusCodeGeocodeWhenPlaceIdOrLocationOrAddressOrGlobalCodeIsNullTest()
        {
            var request = new PlusCodeGeocodeRequest();

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

            Assert.IsNotNull(exception);

            var innerException = exception.InnerException;

            Assert.IsNotNull(innerException);
            Assert.AreEqual(typeof(GoogleApiException), innerException.GetType());
            Assert.AreEqual(innerException.Message, "PlaceId, Location, Address or GlobalCode is required");
        }
        public void GetQueryStringParametersWhenAddressIsNullTest()
        {
            var request = new PlusCodeGeocodeRequest
            {
                Key = "key"
            };

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

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "Address is required");
        }
        public void GetQueryStringParametersWhenPlaceIdAndLocationAndAddressAndGlobalCodeIsNullTest()
        {
            var request = new PlusCodeGeocodeRequest
            {
                Key = "abc"
            };

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

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "PlaceId, Location, Address or GlobalCode is required");
        }
Пример #16
0
        public void PlusCodeGeocodeWhenAsyncAndCancelledTest()
        {
            var request = new PlusCodeGeocodeRequest
            {
                Key      = this.ApiKey,
                Location = new Entities.Common.Location(40.71406249999997, -73.9613125)
            };
            var cancellationTokenSource = new CancellationTokenSource();
            var task = GoogleMaps.PlusCodeGeocode.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.");
        }
Пример #17
0
        public void PlusCodeGeocodeWhenGlobalCodeTest()
        {
            var request = new PlusCodeGeocodeRequest
            {
                Key        = this.ApiKey,
                GlobalCode = "87G8P27Q+JF"
            };
            var result = GoogleMaps.PlusCodeGeocode.Query(request);

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

            Assert.AreEqual("P27Q+JF", result.PlusCode.LocalCode);
            Assert.AreEqual("87G8P27Q+JF", result.PlusCode.GlobalCode);
            Assert.AreEqual("285 Bedford Ave, Brooklyn, NY 11211, USA", result.PlusCode.BestStreetAddress);
            Assert.AreEqual("New York, NY, USA", result.PlusCode.Locality.Address);
        }
        public void GetQueryStringParametersWhenLocalCodeAndLocalityTest()
        {
            var request = new PlusCodeGeocodeRequest
            {
                Key     = "abc",
                Address = new Entities.Maps.Geocoding.PlusCode.Request.Location(new LocalCodeAndLocality("local_code", "locality"))
            };

            var queryStringParameters = request.GetQueryStringParameters();

            Assert.IsNotNull(queryStringParameters);

            var address         = queryStringParameters.SingleOrDefault(x => x.Key == "address");
            var addressExpected = request.Address.ToString();

            Assert.IsNotNull(address);
            Assert.AreEqual(addressExpected, address.Value);
        }
        public void GetQueryStringParametersWhenEmailTest()
        {
            var request = new PlusCodeGeocodeRequest
            {
                Key     = "abc",
                Address = new Entities.Maps.Geocoding.PlusCode.Request.Location(new Coordinate(1, 1)),
                Email   = "email"
            };

            var queryStringParameters = request.GetQueryStringParameters();

            Assert.IsNotNull(queryStringParameters);

            var email         = queryStringParameters.SingleOrDefault(x => x.Key == "email");
            var emailExpected = request.Email;

            Assert.IsNotNull(email);
            Assert.AreEqual(emailExpected, email.Value);
        }
        public void GetQueryStringParametersWhenUseEncryptedKeyTest()
        {
            var request = new PlusCodeGeocodeRequest
            {
                Key             = "abc",
                Address         = new Entities.Maps.Geocoding.PlusCode.Request.Location(new Coordinate(1, 1)),
                UseEncryptedKey = true
            };

            var queryStringParameters = request.GetQueryStringParameters();

            Assert.IsNotNull(queryStringParameters);

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

            Assert.IsNotNull(key);
            Assert.AreEqual(keyExpected, key.Value);
        }
Пример #21
0
        public void PlusCodeGeocodeWhenAsyncAndTimeoutTest()
        {
            var request = new PlusCodeGeocodeRequest
            {
                Key      = this.ApiKey,
                Location = new Entities.Common.Location(40.71406249999997, -73.9613125)
            };
            var exception = Assert.Throws <AggregateException>(() =>
            {
                var result = GoogleMaps.PlusCodeGeocode.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 PlusCodeGeocodeRequest();

            Assert.IsTrue(request.IsSsl);
        }