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); }
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); }
public void GetQueryStringParametersTest() { var request = new SpeedLimitsRequest { Key = "abc", Path = new[] { new Location(1, 1), new Location(2, 2) } }; Assert.DoesNotThrow(() => request.GetQueryStringParameters()); }
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"); }
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"); }
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"); }
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"); }
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"); }
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"); }