Quellcode durchsuchen

Use Theory instead of Fact for unit tests

David vor 4 Jahren
Ursprung
Commit
8ac1ed16ca
1 geänderte Dateien mit 20 neuen und 51 gelöschten Zeilen
  1. 20 51
      tests/Jellyfin.Common.Tests/Json/JsonOmdbConverterTests.cs

+ 20 - 51
tests/Jellyfin.Common.Tests/Json/JsonOmdbConverterTests.cs

@@ -1,6 +1,5 @@
 using System.Text.Json;
 using System.Text.Json.Serialization;
-using MediaBrowser.Common.Json;
 using MediaBrowser.Common.Json.Converters;
 using MediaBrowser.Providers.Plugins.Omdb;
 using Xunit;
@@ -30,70 +29,40 @@ namespace Jellyfin.Common.Tests.Json
             Assert.Null(seasonRootObject?.Metascore);
         }
 
-        [Fact]
-        public void Deserialize_Not_Available_Int_Success()
+        [Theory]
+        [InlineData("\"N/A\"")]
+        [InlineData("null")]
+        public void Deserialization_To_Nullable_Int_Shoud_Be_Null(string input)
         {
-            const string Input = "\"N/A\"";
-
-            var result = JsonSerializer.Deserialize<int?>(Input, _options);
+            var result = JsonSerializer.Deserialize<int?>(input, _options);
             Assert.Null(result);
         }
 
-        [Fact]
-        public void Deserialize_Not_Available_String_Success()
+        [Theory]
+        [InlineData("\"N/A\"")]
+        [InlineData("null")]
+        public void Deserialization_To_Nullable_String_Shoud_Be_Null(string input)
         {
-            const string Input = "\"N/A\"";
-
-            var result = JsonSerializer.Deserialize<string>(Input, _options);
+            var result = JsonSerializer.Deserialize<string?>(input, _options);
             Assert.Null(result);
         }
 
-        [Fact]
-        public void Deserialize_Normal_String_Success()
+        [Theory]
+        [InlineData("\"8\"", 8)]
+        [InlineData("8", 8)]
+        public void Deserialize_Int_Success(string input, int expected)
         {
-            const string Expected = "Jellyfin";
-            const string Input = "\"Jellyfin\"";
-
-            var result = JsonSerializer.Deserialize<string>(Input, _options);
-            Assert.Equal(Expected, result);
+            var result = JsonSerializer.Deserialize<int>(input, _options);
+            Assert.Equal(result, expected);
         }
 
         [Fact]
-        public void Deserialize_Null_Success()
+        public void Deserialize_Normal_String_Success()
         {
-            const string Input = "null";
-
+            const string Input = "\"Jellyfin\"";
+            const string Expected = "Jellyfin";
             var result = JsonSerializer.Deserialize<string>(Input, _options);
-            Assert.Null(result);
-        }
-
-        [Fact]
-        public void Deserialize_Number_Success()
-        {
-            const int Number = 8;
-            const string Input = "8";
-
-            var result = JsonSerializer.Deserialize<int>(Input, _options);
-            Assert.Equal(Number, result);
-        }
-
-        [Fact]
-        public void Deserialize_Quoted_Number_Success()
-        {
-            const int Number = 8;
-            const string Input = "\"8\"";
-
-            var result = JsonSerializer.Deserialize<int>(Input, _options);
-            Assert.Equal(Number, result);
-        }
-
-        [Fact]
-        public void Deserialize_NA_Number_Success()
-        {
-            const string Input = "\"N/A\"";
-
-            var result = JsonSerializer.Deserialize<int?>(Input, _options);
-            Assert.Null(result);
+            Assert.Equal(Expected, result);
         }
     }
 }