Browse Source

Add more tests for JsonGuidConverter

Bond_009 4 năm trước cách đây
mục cha
commit
10be618ec3

+ 31 - 11
tests/Jellyfin.Common.Tests/Json/JsonGuidConverterTests.cs

@@ -5,28 +5,48 @@ using Xunit;
 
 
 namespace Jellyfin.Common.Tests.Extensions
 namespace Jellyfin.Common.Tests.Extensions
 {
 {
-    public static class JsonGuidConverterTests
+    public class JsonGuidConverterTests
     {
     {
+        private readonly JsonSerializerOptions _options;
+
+        public JsonGuidConverterTests()
+        {
+            _options = new JsonSerializerOptions();
+            _options.Converters.Add(new JsonGuidConverter());
+        }
+
         [Fact]
         [Fact]
-        public static void Deserialize_Valid_Success()
+        public void Deserialize_Valid_Success()
         {
         {
-            var options = new JsonSerializerOptions();
-            options.Converters.Add(new JsonGuidConverter());
-            Guid value = JsonSerializer.Deserialize<Guid>(@"""a852a27afe324084ae66db579ee3ee18""", options);
+            Guid value = JsonSerializer.Deserialize<Guid>(@"""a852a27afe324084ae66db579ee3ee18""", _options);
             Assert.Equal(new Guid("a852a27afe324084ae66db579ee3ee18"), value);
             Assert.Equal(new Guid("a852a27afe324084ae66db579ee3ee18"), value);
+        }
 
 
-            value = JsonSerializer.Deserialize<Guid>(@"""e9b2dcaa-529c-426e-9433-5e9981f27f2e""", options);
+        [Fact]
+        public void Deserialize_ValidDashed_Success()
+        {
+            Guid value = JsonSerializer.Deserialize<Guid>(@"""e9b2dcaa-529c-426e-9433-5e9981f27f2e""", _options);
             Assert.Equal(new Guid("e9b2dcaa-529c-426e-9433-5e9981f27f2e"), value);
             Assert.Equal(new Guid("e9b2dcaa-529c-426e-9433-5e9981f27f2e"), value);
         }
         }
 
 
         [Fact]
         [Fact]
-        public static void Roundtrip_Valid_Success()
+        public void Roundtrip_Valid_Success()
         {
         {
-            var options = new JsonSerializerOptions();
-            options.Converters.Add(new JsonGuidConverter());
             Guid guid = new Guid("a852a27afe324084ae66db579ee3ee18");
             Guid guid = new Guid("a852a27afe324084ae66db579ee3ee18");
-            string value = JsonSerializer.Serialize(guid, options);
-            Assert.Equal(guid, JsonSerializer.Deserialize<Guid>(value, options));
+            string value = JsonSerializer.Serialize(guid, _options);
+            Assert.Equal(guid, JsonSerializer.Deserialize<Guid>(value, _options));
+        }
+
+        [Fact]
+        public void Deserialize_Null_EmptyGuid()
+        {
+            Assert.Equal(Guid.Empty, JsonSerializer.Deserialize<Guid>("null", _options));
+        }
+
+        [Fact]
+        public void Serialize_EmptyGuid_Null()
+        {
+            Assert.Equal("null", JsonSerializer.Serialize(Guid.Empty, _options));
         }
         }
     }
     }
 }
 }