diff --git a/sdk/maps/Azure.Maps.Routing/assets.json b/sdk/maps/Azure.Maps.Routing/assets.json index 81dbcd919818..5fadd1fbab30 100644 --- a/sdk/maps/Azure.Maps.Routing/assets.json +++ b/sdk/maps/Azure.Maps.Routing/assets.json @@ -2,5 +2,5 @@ "AssetsRepo": "Azure/azure-sdk-assets", "AssetsRepoPrefixPath": "net", "TagPrefix": "net/maps/Azure.Maps.Routing", - "Tag": "net/maps/Azure.Maps.Routing_54064ae0c1" + "Tag": "net/maps/Azure.Maps.Routing_0755b0a67d" } diff --git a/sdk/maps/Azure.Maps.Routing/src/Generated/Models/RouteMatrix.Serialization.cs b/sdk/maps/Azure.Maps.Routing/src/Generated/Models/RouteMatrix.Serialization.cs index b4a0ee8b7ddc..a2ee0b940aa0 100644 --- a/sdk/maps/Azure.Maps.Routing/src/Generated/Models/RouteMatrix.Serialization.cs +++ b/sdk/maps/Azure.Maps.Routing/src/Generated/Models/RouteMatrix.Serialization.cs @@ -11,44 +11,5 @@ namespace Azure.Maps.Routing.Models { public partial class RouteMatrix { - internal static RouteMatrix DeserializeRouteMatrix(JsonElement element) - { - if (element.ValueKind == JsonValueKind.Null) - { - return null; - } - int? statusCode = default; - RouteMatrixResultResponse response = default; - foreach (var property in element.EnumerateObject()) - { - if (property.NameEquals("statusCode"u8)) - { - if (property.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - statusCode = property.Value.GetInt32(); - continue; - } - if (property.NameEquals("response"u8)) - { - if (property.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - response = RouteMatrixResultResponse.DeserializeRouteMatrixResultResponse(property.Value); - continue; - } - } - return new RouteMatrix(statusCode, response); - } - - /// Deserializes the model from a raw response. - /// The response to deserialize the model from. - internal static RouteMatrix FromResponse(Response response) - { - using var document = JsonDocument.Parse(response.Content); - return DeserializeRouteMatrix(document.RootElement); - } } } diff --git a/sdk/maps/Azure.Maps.Routing/src/Models/Operation/GetRouteMatrixOperation.cs b/sdk/maps/Azure.Maps.Routing/src/Models/Operation/GetRouteMatrixOperation.cs index 5fb4968e24d1..a6f11c876596 100644 --- a/sdk/maps/Azure.Maps.Routing/src/Models/Operation/GetRouteMatrixOperation.cs +++ b/sdk/maps/Azure.Maps.Routing/src/Models/Operation/GetRouteMatrixOperation.cs @@ -110,8 +110,7 @@ private async ValueTask> WaitForCompletionAsync(bool _id = paths[paths.Length - 1]; } - RouteMatrixResult result = null; - return Response.FromValue(result, response); + return await WaitForCompletionAsync(async, cancellationToken).ConfigureAwait(false); } /// diff --git a/sdk/maps/Azure.Maps.Routing/src/Models/RouteMatrix.Serialization.cs b/sdk/maps/Azure.Maps.Routing/src/Models/RouteMatrix.Serialization.cs new file mode 100644 index 000000000000..a6aa452de3c0 --- /dev/null +++ b/sdk/maps/Azure.Maps.Routing/src/Models/RouteMatrix.Serialization.cs @@ -0,0 +1,56 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +#nullable disable + +using System.Text.Json; + +namespace Azure.Maps.Routing.Models +{ + public partial class RouteMatrix + { + internal static RouteMatrix DeserializeRouteMatrix(JsonElement element) + { + if (element.ValueKind == JsonValueKind.Null) + { + return null; + } + int? statusCode = default; + RouteMatrixResultResponse response = default; + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("statusCode"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + statusCode = property.Value.GetInt32(); + continue; + } + if (property.NameEquals("response"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + if (statusCode == 200) { + response = RouteMatrixResultResponse.DeserializeRouteMatrixResultResponse(property.Value); + } else { + response = new RouteMatrixResultResponse(null); + } + continue; + } + } + return new RouteMatrix(statusCode, response); + } + + /// Deserializes the model from a raw response. + /// The response to deserialize the model from. + internal static RouteMatrix FromResponse(Response response) + { + using var document = JsonDocument.Parse(response.Content); + return DeserializeRouteMatrix(document.RootElement); + } + } +} diff --git a/sdk/maps/Azure.Maps.Routing/tests/RouteMatrixTests.cs b/sdk/maps/Azure.Maps.Routing/tests/RouteMatrixTests.cs index 89946952da5e..bc3c96e39090 100644 --- a/sdk/maps/Azure.Maps.Routing/tests/RouteMatrixTests.cs +++ b/sdk/maps/Azure.Maps.Routing/tests/RouteMatrixTests.cs @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. +using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; @@ -27,15 +28,19 @@ public async Task CanSyncRequestRouteMatrix() new GeoPosition(123.751, 45.9375), new GeoPosition(123.791, 45.96875) }, - Destinations = new List() { new GeoPosition(123.767, 45.90625) }, + Destinations = new List() + { + new GeoPosition(1, 13.5471), + new GeoPosition(123.767, 45.90625), + }, }; var result = await client.GetImmediateRouteMatrixAsync(routeMatrixQuery); Assert.AreEqual("0.0.1", result.Value.FormatVersion); Assert.AreEqual(2, result.Value.Matrix.Count); - Assert.AreEqual(1, result.Value.Matrix[0].Count); + Assert.AreEqual(2, result.Value.Matrix[0].Count); Assert.AreEqual(2, result.Value.Summary.SuccessfulRoutes); - Assert.AreEqual(2, result.Value.Summary.TotalRoutes); + Assert.AreEqual(4, result.Value.Summary.TotalRoutes); } [RecordedTest]