JsonStringConverterTests.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using System.Text.Json;
  2. using MediaBrowser.Common.Json.Converters;
  3. using Xunit;
  4. namespace Jellyfin.Common.Tests.Json
  5. {
  6. public class JsonStringConverterTests
  7. {
  8. private readonly JsonSerializerOptions _jsonSerializerOptions
  9. = new ()
  10. {
  11. Converters =
  12. {
  13. new JsonStringConverter()
  14. }
  15. };
  16. [Theory]
  17. [InlineData("\"test\"", "test")]
  18. [InlineData("123", "123")]
  19. [InlineData("123.45", "123.45")]
  20. [InlineData("true", "true")]
  21. [InlineData("false", "false")]
  22. public void Deserialize_String_Valid_Success(string input, string output)
  23. {
  24. var deserialized = JsonSerializer.Deserialize<string>(input, _jsonSerializerOptions);
  25. Assert.Equal(deserialized, output);
  26. }
  27. [Fact]
  28. public void Deserialize_Int32asInt32_Valid_Success()
  29. {
  30. const string? input = "123";
  31. const int output = 123;
  32. var deserialized = JsonSerializer.Deserialize<int>(input, _jsonSerializerOptions);
  33. Assert.Equal(deserialized, output);
  34. }
  35. }
  36. }