Files
WireMock.Net/test/WireMock.Net.Tests/VerifyExtensions/VerifyNewtonsoftJson.cs
Stef Heyenrath b172f700e0 ct
2026-02-14 12:23:19 +01:00

42 lines
1.1 KiB
C#

// Copyright © WireMock.Net
#if !(NET452 || NET461)
using System.Collections.Specialized;
using Newtonsoft.Json.Linq;
namespace WireMock.Net.Tests.VerifyExtensions;
internal static class VerifyNewtonsoftJson
{
public static void Enable(VerifySettings verifySettings)
{
// InnerVerifier.ThrowIfVerifyHasBeenRun();
verifySettings
.AddExtraSettings(_ =>
{
var converters = _.Converters;
converters.Add(new JArrayConverter());
converters.Add(new JObjectConverter());
});
}
}
internal class JArrayConverter : WriteOnlyJsonConverter<JArray>
{
public override void Write(VerifyJsonWriter writer, JArray value)
{
var list = value.ToObject<List<object>>()!;
writer.Serialize(list);
}
}
internal class JObjectConverter : WriteOnlyJsonConverter<JObject>
{
public override void Write(VerifyJsonWriter writer, JObject value)
{
var dictionary = value.ToObject<OrderedDictionary>()!;
writer.Serialize(dictionary);
}
}
#endif