Esempio n. 1
0
        public void GetQueryStringParametersTest()
        {
            var request = new PlacesNearBySearchRequest
            {
                Key      = "abc",
                Location = new Location(0, 0),
                Radius   = 5000,
                Keyword  = "test"
            };

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

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

            Assert.AreEqual(exception.Message, "'Key' is required");
        }
        public void GetQueryStringParametersTest()
        {
            var request = new PlacesNearBySearchRequest
            {
                Key      = "key",
                Location = new Coordinate(0, 0),
                Radius   = 100
            };

            var queryStringParameters = request.GetQueryStringParameters();

            Assert.IsNotNull(queryStringParameters);

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

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

            var keyword         = queryStringParameters.FirstOrDefault(x => x.Key == "keyword");
            var keywordExpected = request.Keyword;

            Assert.IsNotNull(keyword);
            Assert.AreEqual(keywordExpected, keyword.Value);

            var language = queryStringParameters.FirstOrDefault(x => x.Key == "language");

            Assert.IsNotNull(language);
            Assert.AreEqual("en", language.Value);

            var rankby         = queryStringParameters.FirstOrDefault(x => x.Key == "rankby");
            var rankbyExpected = Ranking.Prominence.ToString().ToLower();

            Assert.IsNotNull(rankby);
            Assert.AreEqual(rankbyExpected, rankby.Value);

            var location         = queryStringParameters.FirstOrDefault(x => x.Key == "location");
            var locationExpected = request.Location.ToString();

            Assert.IsNotNull(location);
            Assert.AreEqual(locationExpected, location.Value);

            var radius         = queryStringParameters.FirstOrDefault(x => x.Key == "radius");
            var radiusExpected = request.Radius.ToString();

            Assert.IsNotNull(radius);
            Assert.AreEqual(radiusExpected, radius.Value);
        }
        public void GetQueryStringParametersWhenLocationIsNullTest()
        {
            var request = new PlacesNearBySearchRequest
            {
                Key      = "key",
                Location = null
            };

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

            Assert.AreEqual(exception.Message, "'Location' is required");
        }
Esempio n. 5
0
        public void GetQueryStringParametersWhenRadiusIsGereaterThanFiftyThousandTest()
        {
            var request = new PlacesNearBySearchRequest
            {
                Key      = "abc",
                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");
        }
Esempio n. 6
0
        public void GetQueryStringParametersWhenRankByDistanceAndNameIsNullAndKeywordIsNullAndTypeIsNullTest()
        {
            var request = new PlacesNearBySearchRequest
            {
                Key      = "abc",
                Location = new Location(51.491431, -3.16668),
                Rankby   = Ranking.Distance
            };

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

            Assert.AreEqual(exception.Message, "Keyword, Name or Type is required, If rank by distance");
        }
        public void GetQueryStringParametersWhenRadiusIsLessThanOneTest()
        {
            var request = new PlacesNearBySearchRequest
            {
                Key      = "key",
                Location = new Coordinate(1, 1),
                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");
        }
Esempio n. 8
0
        public void GetQueryStringParametersWhenRadiusIsNullTest()
        {
            var request = new PlacesNearBySearchRequest
            {
                Key      = "abc",
                Location = new Location(0, 0),
                Radius   = null
            };

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

            Assert.AreEqual(exception.Message, "Radius is required, when RankBy is not Distance");
        }
        public void GetQueryStringParametersWhenRankByDistanceAndRadiusIsNotNullTest()
        {
            var request = new PlacesNearBySearchRequest
            {
                Key      = "key",
                Location = new Coordinate(1, 1),
                Radius   = 5001,
                Rankby   = Ranking.Distance
            };

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

            Assert.AreEqual(exception.Message, "'Radius' cannot be specified, when using 'Rankby' is distance");
        }
        public void GetQueryStringParametersWhenPageTokenTest()
        {
            var request = new PlacesNearBySearchRequest
            {
                Key       = "key",
                PageToken = "pagetoken"
            };

            var queryStringParameters = request.GetQueryStringParameters();

            Assert.IsNotNull(queryStringParameters);

            var pagetoken         = queryStringParameters.FirstOrDefault(x => x.Key == "pagetoken");
            var pagetokenExpected = request.PageToken;

            Assert.IsNotNull(pagetoken);
            Assert.AreEqual(pagetokenExpected, pagetoken.Value);
        }
        public void GetQueryStringParametersWhenOpenNowTest()
        {
            var request = new PlacesNearBySearchRequest
            {
                Key      = "key",
                Location = new Coordinate(0, 0),
                Radius   = 100,
                OpenNow  = true
            };

            var queryStringParameters = request.GetQueryStringParameters();

            Assert.IsNotNull(queryStringParameters);

            var radius = queryStringParameters.FirstOrDefault(x => x.Key == "opennow");

            Assert.IsNotNull(radius);
        }
Esempio n. 12
0
        public void GetQueryStringParametersWhenKeyIsNullTest()
        {
            var request = new PlacesNearBySearchRequest
            {
                Key      = null,
                Location = new Location(0, 0),
                Radius   = 5000,
                Keyword  = "test"
            };

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

            Assert.AreEqual(exception.Message, "Key is required");
        }
Esempio n. 13
0
        public void GetQueryStringParametersWhenRankByDistanceAndRadiusIsNotNullTest()
        {
            var request = new PlacesNearBySearchRequest
            {
                Key      = "abc",
                Location = new Location(51.491431, -3.16668),
                Radius   = 5001,
                Rankby   = Ranking.Distance
            };

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

            Assert.AreEqual(exception.Message, "Radius cannot be specified, when using RankBy distance");
        }
        public void GetQueryStringParametersWhenKeywordTest()
        {
            var request = new PlacesNearBySearchRequest
            {
                Key      = "key",
                Location = new Coordinate(0, 0),
                Radius   = 100,
                Keyword  = "keyword"
            };

            var queryStringParameters = request.GetQueryStringParameters();

            Assert.IsNotNull(queryStringParameters);

            var keyword         = queryStringParameters.FirstOrDefault(x => x.Key == "keyword");
            var keywordExpected = request.Keyword;

            Assert.IsNotNull(keyword);
            Assert.AreEqual(keywordExpected, keyword.Value);
        }
        public void GetQueryStringParametersWhenMaxpriceTest()
        {
            var request = new PlacesNearBySearchRequest
            {
                Key      = "key",
                Location = new Coordinate(0, 0),
                Radius   = 100,
                Maxprice = PriceLevel.Free
            };

            var queryStringParameters = request.GetQueryStringParameters();

            Assert.IsNotNull(queryStringParameters);

            var maxprice         = queryStringParameters.FirstOrDefault(x => x.Key == "maxprice");
            var maxpriceExpected = ((int)request.Maxprice.GetValueOrDefault()).ToString();

            Assert.IsNotNull(maxprice);
            Assert.AreEqual(maxpriceExpected, maxprice.Value);
        }
        public void GetQueryStringParametersWhenNameTest()
        {
            var request = new PlacesNearBySearchRequest
            {
                Key      = "key",
                Location = new Coordinate(0, 0),
                Radius   = 100,
                Name     = "name"
            };

            var queryStringParameters = request.GetQueryStringParameters();

            Assert.IsNotNull(queryStringParameters);

            var name         = queryStringParameters.FirstOrDefault(x => x.Key == "name");
            var nameExpected = request.Name;

            Assert.IsNotNull(name);
            Assert.AreEqual(nameExpected, name.Value);
        }
        public void GetQueryStringParametersWhenTypeTest()
        {
            var request = new PlacesNearBySearchRequest
            {
                Key      = "key",
                Location = new Coordinate(0, 0),
                Radius   = 100,
                Type     = SearchPlaceType.Accounting
            };

            var queryStringParameters = request.GetQueryStringParameters();

            Assert.IsNotNull(queryStringParameters);

            var type          = queryStringParameters.FirstOrDefault(x => x.Key == "type");
            var typeAttribute = request.Type?.GetType().GetMembers().FirstOrDefault(x => x.Name == request.Type.ToString())?.GetCustomAttribute <EnumMemberAttribute>();
            var typeExpected  = typeAttribute?.Value.ToLower();

            Assert.IsNotNull(type);
            Assert.AreEqual(typeExpected, type.Value);
        }