JsonStringConverterTests.cs 1.1 KB

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