From 1a6e4437893f63c91b4ed3f4d112162b0a7bf0a6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 13 May 2026 19:10:41 +0000 Subject: [PATCH] Refactor overload int constants to HandlerOverload enum Agent-Logs-Url: https://github.com/microsoft/agent-framework/sessions/19397f58-a88a-41cf-bd85-588f520e0d0f Co-authored-by: lokitoth <6936551+lokitoth@users.noreply.github.com> --- .../RouteBuilderTests.cs | 91 ++++++++++--------- 1 file changed, 50 insertions(+), 41 deletions(-) diff --git a/dotnet/tests/Microsoft.Agents.AI.Workflows.UnitTests/RouteBuilderTests.cs b/dotnet/tests/Microsoft.Agents.AI.Workflows.UnitTests/RouteBuilderTests.cs index 824efb2adb..7230a31d19 100644 --- a/dotnet/tests/Microsoft.Agents.AI.Workflows.UnitTests/RouteBuilderTests.cs +++ b/dotnet/tests/Microsoft.Agents.AI.Workflows.UnitTests/RouteBuilderTests.cs @@ -12,6 +12,14 @@ namespace Microsoft.Agents.AI.Workflows.UnitTests; public sealed class RouteBuilderTests { + public enum HandlerOverload + { + SyncWithCancellation = 0, + SyncWithoutCancellation = 1, + AsyncWithCancellation = 2, + AsyncWithoutCancellation = 3, + } + private sealed record TestPayload(string Value); private sealed class HandlerInvocation @@ -53,11 +61,11 @@ public sealed class RouteBuilderTests } [Theory] - [InlineData(0)] - [InlineData(1)] - [InlineData(2)] - [InlineData(3)] - public async Task AddHandler_VoidOverloads_RouteExpectedMessageAsync(int overload) + [InlineData(HandlerOverload.SyncWithCancellation)] + [InlineData(HandlerOverload.SyncWithoutCancellation)] + [InlineData(HandlerOverload.AsyncWithCancellation)] + [InlineData(HandlerOverload.AsyncWithoutCancellation)] + public async Task AddHandler_VoidOverloads_RouteExpectedMessageAsync(HandlerOverload overload) { // Arrange RouteBuilder routeBuilder = new(null); @@ -86,11 +94,11 @@ public sealed class RouteBuilderTests } [Theory] - [InlineData(0)] - [InlineData(1)] - [InlineData(2)] - [InlineData(3)] - public async Task AddHandler_ResultOverloads_RouteExpectedMessageAsync(int overload) + [InlineData(HandlerOverload.SyncWithCancellation)] + [InlineData(HandlerOverload.SyncWithoutCancellation)] + [InlineData(HandlerOverload.AsyncWithCancellation)] + [InlineData(HandlerOverload.AsyncWithoutCancellation)] + public async Task AddHandler_ResultOverloads_RouteExpectedMessageAsync(HandlerOverload overload) { // Arrange RouteBuilder routeBuilder = new(null); @@ -120,11 +128,11 @@ public sealed class RouteBuilderTests } [Theory] - [InlineData(0)] - [InlineData(1)] - [InlineData(2)] - [InlineData(3)] - public async Task AddCatchAll_VoidOverloads_RouteUnexpectedMessageAsync(int overload) + [InlineData(HandlerOverload.SyncWithCancellation)] + [InlineData(HandlerOverload.SyncWithoutCancellation)] + [InlineData(HandlerOverload.AsyncWithCancellation)] + [InlineData(HandlerOverload.AsyncWithoutCancellation)] + public async Task AddCatchAll_VoidOverloads_RouteUnexpectedMessageAsync(HandlerOverload overload) { // Arrange RouteBuilder routeBuilder = new(null); @@ -154,11 +162,11 @@ public sealed class RouteBuilderTests } [Theory] - [InlineData(0)] - [InlineData(1)] - [InlineData(2)] - [InlineData(3)] - public async Task AddCatchAll_ResultOverloads_RouteUnexpectedMessageAsync(int overload) + [InlineData(HandlerOverload.SyncWithCancellation)] + [InlineData(HandlerOverload.SyncWithoutCancellation)] + [InlineData(HandlerOverload.AsyncWithCancellation)] + [InlineData(HandlerOverload.AsyncWithoutCancellation)] + public async Task AddCatchAll_ResultOverloads_RouteUnexpectedMessageAsync(HandlerOverload overload) { // Arrange RouteBuilder routeBuilder = new(null); @@ -386,24 +394,24 @@ public sealed class RouteBuilderTests result.Exception!.Message.Should().Contain("Unknown port"); } - private static void RegisterVoidHandler(RouteBuilder routeBuilder, HandlerInvocation invocation, int overload) + private static void RegisterVoidHandler(RouteBuilder routeBuilder, HandlerInvocation invocation, HandlerOverload overload) { switch (overload) { - case 0: + case HandlerOverload.SyncWithCancellation: routeBuilder.AddHandler((message, context, cancellationToken) => invocation.Capture(message, context, cancellationToken)); break; - case 1: + case HandlerOverload.SyncWithoutCancellation: routeBuilder.AddHandler((message, context) => invocation.Capture(message, context)); break; - case 2: + case HandlerOverload.AsyncWithCancellation: routeBuilder.AddHandler((message, context, cancellationToken) => { invocation.Capture(message, context, cancellationToken); return ValueTask.CompletedTask; }); break; - case 3: + case HandlerOverload.AsyncWithoutCancellation: routeBuilder.AddHandler((message, context) => { invocation.Capture(message, context); @@ -415,25 +423,25 @@ public sealed class RouteBuilderTests } } - private static void RegisterResultHandler(RouteBuilder routeBuilder, HandlerInvocation invocation, int overload) + private static void RegisterResultHandler(RouteBuilder routeBuilder, HandlerInvocation invocation, HandlerOverload overload) { switch (overload) { - case 0: + case HandlerOverload.SyncWithCancellation: routeBuilder.AddHandler((message, context, cancellationToken) => { invocation.Capture(message, context, cancellationToken); return NormalizeHandlerResult(message); }); break; - case 1: + case HandlerOverload.SyncWithoutCancellation: routeBuilder.AddHandler((message, context) => { invocation.Capture(message, context); return NormalizeHandlerResult(message); }); break; - case 2: + case HandlerOverload.AsyncWithCancellation: Func> asyncHandlerWithCancellation = (message, context, cancellationToken) => { invocation.Capture(message, context, cancellationToken); @@ -441,7 +449,7 @@ public sealed class RouteBuilderTests }; routeBuilder.AddHandler(asyncHandlerWithCancellation); break; - case 3: + case HandlerOverload.AsyncWithoutCancellation: Func> asyncHandler = (message, context) => { invocation.Capture(message, context); @@ -454,24 +462,24 @@ public sealed class RouteBuilderTests } } - private static void RegisterVoidCatchAll(RouteBuilder routeBuilder, HandlerInvocation invocation, int overload) + private static void RegisterVoidCatchAll(RouteBuilder routeBuilder, HandlerInvocation invocation, HandlerOverload overload) { switch (overload) { - case 0: + case HandlerOverload.SyncWithCancellation: routeBuilder.AddCatchAll((message, context, cancellationToken) => invocation.Capture(message, context, cancellationToken)); break; - case 1: + case HandlerOverload.SyncWithoutCancellation: routeBuilder.AddCatchAll((message, context) => invocation.Capture(message, context)); break; - case 2: + case HandlerOverload.AsyncWithCancellation: routeBuilder.AddCatchAll((message, context, cancellationToken) => { invocation.Capture(message, context, cancellationToken); return ValueTask.CompletedTask; }); break; - case 3: + case HandlerOverload.AsyncWithoutCancellation: routeBuilder.AddCatchAll((message, context) => { invocation.Capture(message, context); @@ -483,25 +491,25 @@ public sealed class RouteBuilderTests } } - private static void RegisterResultCatchAll(RouteBuilder routeBuilder, HandlerInvocation invocation, int overload) + private static void RegisterResultCatchAll(RouteBuilder routeBuilder, HandlerInvocation invocation, HandlerOverload overload) { switch (overload) { - case 0: + case HandlerOverload.SyncWithCancellation: routeBuilder.AddCatchAll((message, context, cancellationToken) => { invocation.Capture(message, context, cancellationToken); return NormalizeCatchAllResult(message); }); break; - case 1: + case HandlerOverload.SyncWithoutCancellation: routeBuilder.AddCatchAll((message, context) => { invocation.Capture(message, context); return NormalizeCatchAllResult(message); }); break; - case 2: + case HandlerOverload.AsyncWithCancellation: Func> asyncCatchAllWithCancellation = (message, context, cancellationToken) => { invocation.Capture(message, context, cancellationToken); @@ -509,7 +517,7 @@ public sealed class RouteBuilderTests }; routeBuilder.AddCatchAll(asyncCatchAllWithCancellation); break; - case 3: + case HandlerOverload.AsyncWithoutCancellation: Func> asyncCatchAll = (message, context) => { invocation.Capture(message, context); @@ -522,7 +530,8 @@ public sealed class RouteBuilderTests } } - private static bool UsesCancellationToken(int overload) => overload is 0 or 2; + private static bool UsesCancellationToken(HandlerOverload overload) => + overload is HandlerOverload.SyncWithCancellation or HandlerOverload.AsyncWithCancellation; private static string NormalizeHandlerResult(string message) => message.ToUpperInvariant();