コード例 #1
0
        public void GetQueryStringParametersWhenPlacesTest()
        {
            var request = new SpeedLimitsRequest
            {
                Key    = "key",
                Places = new[]
                {
                    new Place("place1"),
                    new Place("place2")
                }
            };

            var queryStringParameters = request.GetQueryStringParameters();

            Assert.IsNotNull(queryStringParameters);

            var place1         = queryStringParameters.FirstOrDefault(x => x.Key == "placeId");
            var place1Expected = request.Places.First().ToString();

            Assert.IsNotNull(place1);
            Assert.AreEqual(place1Expected, place1.Value);

            var place2         = queryStringParameters.LastOrDefault(x => x.Key == "placeId");
            var place2Expected = request.Places.Last().ToString();

            Assert.IsNotNull(place2);
            Assert.AreEqual(place2Expected, place2.Value);
        }
コード例 #2
0
        public void GetQueryStringParametersWhenPathTest()
        {
            var request = new SpeedLimitsRequest
            {
                Key  = "key",
                Path = new[]
                {
                    new Coordinate(1, 1),
                    new Coordinate(2, 2)
                }
            };

            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 path         = queryStringParameters.FirstOrDefault(x => x.Key == "path");
            var pathExpected = string.Join("|", request.Path);

            Assert.IsNotNull(path);
            Assert.AreEqual(pathExpected, path.Value);
        }
コード例 #3
0
        public void GetQueryStringParametersTest()
        {
            var request = new SpeedLimitsRequest
            {
                Key  = "abc",
                Path = new[]
                {
                    new Location(1, 1),
                    new Location(2, 2)
                }
            };

            Assert.DoesNotThrow(() => request.GetQueryStringParameters());
        }
コード例 #4
0
        public void GetQueryStringParametersWhenPathIsNullAndPlaceIdsIsNullTest()
        {
            var request = new SpeedLimitsRequest
            {
                Key = "abc"
            };

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

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "Path or PlaceId's is required");
        }
コード例 #5
0
        public void GetQueryStringParametersWhenKeyIsStringEmptyTest()
        {
            var request = new SpeedLimitsRequest
            {
                Key = string.Empty
            };

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

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "'Key' is required");
        }
コード例 #6
0
        public void GetQueryStringParametersWhenKeyIsNullTest()
        {
            var request = new SpeedLimitsRequest
            {
                Key  = null,
                Path = new[] { new Location(0, 0) }
            };

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

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "Key is required");
        }
コード例 #7
0
        public void GetQueryStringParametersWhenPlaceIdsCountIsGreaterThanAllowedTest()
        {
            var request = new SpeedLimitsRequest
            {
                Key      = "abc",
                PlaceIds = new string[101]
            };

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

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "Max PlaceId's exceeded");
        }
コード例 #8
0
        public void GetQueryStringParametersWhenPathAndTooManyTest()
        {
            var request = new SpeedLimitsRequest
            {
                Key  = "key",
                Path = new Coordinate[101]
            };

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

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "'Path' must contain equal or less than 100 coordinates");
        }
コード例 #9
0
        public void GetQueryStringParametersWhenPathIsEmptyAndPlaceIdsIsEmptyTest()
        {
            var request = new SpeedLimitsRequest
            {
                Key      = this.ApiKey,
                Path     = new Location[0],
                PlaceIds = new string[0]
            };

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

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "Path or PlaceId's is required");
        }