csharp-sdk/tests/ModelContextProtocol.Tests/Protocol/ToolChoiceTests.cs
2025-11-20 09:52:23 -05:00

30 lines
798 B
C#

using ModelContextProtocol.Protocol;
using System.Text.Json;
namespace ModelContextProtocol.Tests.Protocol;
public class ToolChoiceTests
{
[Fact]
public void DefaultModeIsNull()
{
Assert.Null(new ToolChoice().Mode);
}
[Theory]
[InlineData(null)]
[InlineData("none")]
[InlineData("required")]
[InlineData("auto")]
[InlineData("something_custom")]
public void SerializesWithMode(string? mode)
{
ToolChoice toolChoice = new() { Mode = mode };
var json = JsonSerializer.Serialize(toolChoice, McpJsonUtilities.DefaultOptions);
var deserialized = JsonSerializer.Deserialize<ToolChoice>(json, McpJsonUtilities.DefaultOptions);
Assert.NotNull(deserialized);
Assert.Equal(mode, deserialized.Mode);
}
}