// // Copyright (c) PlaceholderCompany. All rights reserved. // namespace Jellyfin.Extensions.Tests.Json.Converters { using System.Text.Json; using Jellyfin.Extensions.Json.Converters; using Xunit; public class JsonBoolStringTests { private readonly JsonSerializerOptions _jsonOptions = new JsonSerializerOptions() { Converters = { new JsonBoolStringConverter(), }, }; [Theory] [InlineData(@"{ ""Value"": ""true"" }", true)] [InlineData(@"{ ""Value"": ""false"" }", false)] public void Deserialize_String_Valid_Success(string input, bool output) { TestStruct s = JsonSerializer.Deserialize(input, this._jsonOptions); Assert.Equal(s.Value, output); } [Theory] [InlineData(true, "true")] [InlineData(false, "false")] public void Serialize_Bool_Success(bool input, string output) { string value = JsonSerializer.Serialize(input, this._jsonOptions); Assert.Equal(value, output); } private readonly record struct TestStruct(bool Value); } }