public void PlacesRadarSearchTest()
        {
            var request = new PlacesRadarSearchRequest
            {
                Key      = this.ApiKey,
                Location = new Location(55.673323, 12.527438),
                Radius   = 500,
                Keyword  = "abc"
            };

            var response = GooglePlaces.RadarSearch.Query(request);

            Assert.IsNotNull(response);
            Assert.IsEmpty(response.HtmlAttributions);
            Assert.AreEqual(Status.Ok, response.Status);

            var result = response.Results.FirstOrDefault();

            Assert.IsNotNull(result);
            Assert.IsNotNull(result.PlaceId);
            Assert.IsNotNull(result.Geometry);
            Assert.IsNotNull(result.Geometry.Location);
            Assert.AreEqual(55.673323, result.Geometry.Location.Latitude, 0.01);
            Assert.AreEqual(12.527438, result.Geometry.Location.Longitude, 0.01);
        }
        public void PlacesRadarSearchWhenAsyncAndTimeoutTest()
        {
            var request = new PlacesRadarSearchRequest
            {
                Key      = this.ApiKey,
                Location = new Location(55.673323, 12.527438),
                Radius   = 500,
                Keyword  = "abc"
            };

            var exception = Assert.Throws <AggregateException>(() =>
            {
                var result = GooglePlaces.RadarSearch.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.");
        }
Beispiel #3
0
        public void PlacesRadarSearchWhenApiKeyIsStringEmptyTest()
        {
            var request = new PlacesRadarSearchRequest
            {
                Key = string.Empty
            };

            var exception = Assert.Throws <ArgumentException>(() => GooglePlaces.RadarSearch.Query(request));

            Assert.AreEqual(exception.Message, "ApiKey must be provided");
        }
        public void PlacesRadarSearchWhenLocationIsNullTest()
        {
            var request = new PlacesRadarSearchRequest
            {
                Key      = this.ApiKey,
                Location = null
            };

            var exception = Assert.Throws <ArgumentException>(() => GooglePlaces.RadarSearch.Query(request));

            Assert.AreEqual(exception.Message, "Location is required.");
        }
        public void PlacesRadarSearchWhenRankByDistanceAndNameIsNullAndKeywordIsNullAndTypeIsNullTest()
        {
            var request = new PlacesRadarSearchRequest
            {
                Key      = this.ApiKey,
                Location = new Location(51.491431, -3.16668),
                Radius   = 1
            };

            var exception = Assert.Throws <ArgumentException>(() => GooglePlaces.RadarSearch.Query(request));

            Assert.AreEqual(exception.Message, "Keyword or Name or Type must is required.");
        }
        public void ConstructorDefaultTest()
        {
            var request = new PlacesRadarSearchRequest();

            Assert.IsTrue(request.IsSsl);
            Assert.IsNull(request.Type);
            Assert.IsNull(request.Radius);
            Assert.IsNull(request.Location);
            Assert.IsNull(request.Minprice);
            Assert.IsNull(request.Maxprice);
            Assert.IsFalse(request.OpenNow);
            Assert.AreEqual(Language.English, request.Language);
        }
Beispiel #7
0
        public void PlacesRadarSearchWhenRadiusIsNullTest()
        {
            var request = new PlacesRadarSearchRequest
            {
                Key      = this.apiKey,
                Location = new Location(55.673323, 12.527438),
                Radius   = null
            };

            var exception = Assert.Throws <ArgumentException>(() => GooglePlaces.RadarSearch.Query(request));

            Assert.AreEqual(exception.Message, "Radius must not be null");
        }
        public void PlacesRadarSearchWhenRadiusIsGereaterThanFiftyThousandTest()
        {
            var request = new PlacesRadarSearchRequest
            {
                Key      = this.ApiKey,
                Location = new Location(51.491431, -3.16668),
                Radius   = 50001
            };

            var exception = Assert.Throws <ArgumentException>(() => GooglePlaces.RadarSearch.Query(request));

            Assert.AreEqual(exception.Message, "Radius must be greater than or equal to 1 and less than or equal to 50.000.");
        }
        public void PlacesRadarSearchWhenKeyIsStringEmptyTest()
        {
            var request = new PlacesRadarSearchRequest
            {
                Key      = string.Empty,
                Location = new Location(0, 0),
                Radius   = 10,
                Keyword  = "test"
            };

            var exception = Assert.Throws <ArgumentException>(() => GooglePlaces.RadarSearch.Query(request));

            Assert.AreEqual(exception.Message, "Key is required.");
        }
Beispiel #10
0
        public void PlacesRadarSearchWhenAsyncTest()
        {
            var request = new PlacesRadarSearchRequest
            {
                Key      = this.ApiKey,
                Location = new Location(55.673323, 12.527438),
                Radius   = 500,
                Keyword  = "abc"
            };

            var response = GooglePlaces.RadarSearch.QueryAsync(request).Result;

            Assert.IsNotNull(response);
            Assert.AreEqual(Status.Ok, response.Status);
        }
Beispiel #11
0
        public void PlacesRadarSearchWhenMultipleResultsTest()
        {
            var request = new PlacesRadarSearchRequest
            {
                Key      = this.ApiKey,
                Location = new Location(55.673323, 12.527438),
                Radius   = 50000,
                Keyword  = "abc"
            };

            var response = GooglePlaces.RadarSearch.Query(request);

            Assert.IsNotNull(response);
            Assert.GreaterOrEqual(response.Results.Count(), 5);
        }
        public void GetQueryStringParametersWhenLocationIsNullTest()
        {
            var request = new PlacesRadarSearchRequest
            {
                Key      = this.ApiKey,
                Location = null
            };

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

            Assert.AreEqual(exception.Message, "Location is required");
        }
        public void GetQueryStringParametersWhenRadiusIsGereaterThanFiftyThousandTest()
        {
            var request = new PlacesRadarSearchRequest
            {
                Key      = this.ApiKey,
                Location = new Location(51.491431, -3.16668),
                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");
        }
Beispiel #14
0
        public void PlacesRadarSearchTest()
        {
            var _request = new PlacesRadarSearchRequest
            {
                Key      = this._apiKey,
                Location = new Location(51.491431, -3.16668),
                Radius   = 500,
                Sensor   = true,
                Language = "en",
                Keyword  = "abc"
            };

            var _response = GooglePlaces.RadarSearch.Query(_request);

            Assert.IsNotNull(_response);
            Assert.AreEqual(Status.OK, _response.Status);
        }
Beispiel #15
0
        public void PlacesRadarSearchTest()
        {
            var request = new PlacesRadarSearchRequest
            {
                Key      = this.apiKey,
                Location = new Location(55.673323, 12.527438),
                Radius   = 500,
                Sensor   = true,
                Language = "en",
                Keyword  = "abc"
            };

            var response = GooglePlaces.RadarSearch.Query(request);

            Assert.IsNotNull(response);
            Assert.AreEqual(Status.Ok, response.Status);
        }
        public void GetQueryStringParametersWhenRankByDistanceAndNameIsNullAndKeywordIsNullAndTypeIsNullTest()
        {
            var request = new PlacesRadarSearchRequest
            {
                Key      = this.ApiKey,
                Location = new Location(51.491431, -3.16668),
                Radius   = 1
            };

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

            Assert.AreEqual(exception.Message, "Keyword, Name or Type is required");
        }
        public void GetQueryStringParametersWhenKeyIsStringEmptyTest()
        {
            var request = new PlacesRadarSearchRequest
            {
                Key      = string.Empty,
                Location = new Location(0, 0),
                Radius   = 10,
                Keyword  = "test"
            };

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

            Assert.AreEqual(exception.Message, "Key is required");
        }
Beispiel #18
0
        public void PlacesRadarSearchWhenAsyncAndCancelledTest()
        {
            var request = new PlacesRadarSearchRequest
            {
                Key      = this.ApiKey,
                Location = new Location(55.673323, 12.527438),
                Radius   = 500,
                Keyword  = "abc"
            };

            var cancellationTokenSource = new CancellationTokenSource();
            var task = GooglePlaces.RadarSearch.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.");
        }
Beispiel #19
0
        public void PlacesRadarSearchWhenInvalidKeyTest()
        {
            var request = new PlacesRadarSearchRequest
            {
                Key      = "test",
                Location = new Location(55.673323, 12.527438),
                Radius   = 500,
                Keyword  = "abc"
            };

            var exception = Assert.Throws <AggregateException>(() => GooglePlaces.RadarSearch.Query(request));

            Assert.IsNotNull(exception);
            Assert.AreEqual("One or more errors occurred.", exception.Message);

            var innerException = exception.InnerExceptions.FirstOrDefault();

            Assert.IsNotNull(innerException);
            Assert.AreEqual(typeof(GoogleApiException), innerException.GetType());
            Assert.AreEqual("The provided API key is invalid.", innerException.Message);
        }