Hardcode the source generator in one remaining location and simplify McpJsonUtilities. (#204)

This commit is contained in:
Eirik Tsarpalis 2025-04-03 18:42:42 +01:00 • committed by GitHub
commit 1c145a5d52
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -0,0 +1,28 @@
using ModelContextProtocol.Utils.Json;
using System.Text.Json;
namespace ModelContextProtocol.Tests;
public static class McpJsonUtilitiesTests
{
[Fact]
public static void DefaultOptions_IsSingleton()
{
var options = McpJsonUtilities.DefaultOptions;
Assert.NotNull(options);
Assert.True(options.IsReadOnly);
Assert.Same(options, McpJsonUtilities.DefaultOptions);
}
[Fact]
public static void DefaultOptions_UseReflectionWhenEnabled()
{
var options = McpJsonUtilities.DefaultOptions;
bool isReflectionEnabled = JsonSerializer.IsReflectionEnabledByDefault;
Type anonType = new { Id = 42 }.GetType();
Assert.True(isReflectionEnabled); // To be disabled once https://github.com/dotnet/extensions/pull/6241 is incorporated
Assert.Equal(isReflectionEnabled, options.TryGetTypeInfo(anonType, out _));
}
}