using System; using System.Text.Json; using MediaBrowser.Common.Json.Converters; using Xunit; namespace Jellyfin.Common.Tests.Extensions { public static class JsonGuidConverterTests { [Fact] public static void Deserialize_Valid_Success() { var options = new JsonSerializerOptions(); options.Converters.Add(new JsonGuidConverter()); Guid value = JsonSerializer.Deserialize(@"""a852a27afe324084ae66db579ee3ee18""", options); Assert.Equal(new Guid("a852a27afe324084ae66db579ee3ee18"), value); value = JsonSerializer.Deserialize(@"""e9b2dcaa-529c-426e-9433-5e9981f27f2e""", options); Assert.Equal(new Guid("e9b2dcaa-529c-426e-9433-5e9981f27f2e"), value); } [Fact] public static void Roundtrip_Valid_Success() { var options = new JsonSerializerOptions(); options.Converters.Add(new JsonGuidConverter()); Guid guid = new Guid("a852a27afe324084ae66db579ee3ee18"); string value = JsonSerializer.Serialize(guid, options); Assert.Equal(guid, JsonSerializer.Deserialize(value, options)); } } }