Add tools support to sampling (#976)

This commit is contained in:
Stephen Toub 2025-11-20 09:52:23 -05:00 • committed by GitHub
commit 15139cc569
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -0,0 +1,30 @@
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);
}
}