MediaStreamTests.cs 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. using MediaBrowser.Model.Entities;
  2. using Xunit;
  3. namespace Jellyfin.Model.Tests.Entities
  4. {
  5. public class MediaStreamTests
  6. {
  7. [Theory]
  8. [InlineData(null, null, false, null)]
  9. [InlineData(null, 0, false, null)]
  10. [InlineData(0, null, false, null)]
  11. [InlineData(640, 480, false, "480p")]
  12. [InlineData(640, 480, true, "480i")]
  13. [InlineData(720, 576, false, "576p")]
  14. [InlineData(720, 576, true, "576i")]
  15. [InlineData(960, 540, false, "540p")]
  16. [InlineData(960, 540, true, "540i")]
  17. [InlineData(1280, 720, false, "720p")]
  18. [InlineData(1280, 720, true, "720i")]
  19. [InlineData(1920, 1080, false, "1080p")]
  20. [InlineData(1920, 1080, true, "1080i")]
  21. [InlineData(4096, 3072, false, "4K")]
  22. [InlineData(8192, 6144, false, "8K")]
  23. [InlineData(512, 384, false, "480p")]
  24. [InlineData(576, 336, false, "480p")]
  25. [InlineData(624, 352, false, "480p")]
  26. [InlineData(640, 352, false, "480p")]
  27. [InlineData(704, 396, false, "480p")]
  28. [InlineData(720, 404, false, "480p")]
  29. [InlineData(720, 480, false, "480p")]
  30. [InlineData(768, 576, false, "576p")]
  31. [InlineData(960, 720, false, "720p")]
  32. [InlineData(1280, 528, false, "720p")]
  33. [InlineData(1280, 532, false, "720p")]
  34. [InlineData(1280, 534, false, "720p")]
  35. [InlineData(1280, 536, false, "720p")]
  36. [InlineData(1280, 544, false, "720p")]
  37. [InlineData(1280, 690, false, "720p")]
  38. [InlineData(1280, 694, false, "720p")]
  39. [InlineData(1280, 696, false, "720p")]
  40. [InlineData(1280, 716, false, "720p")]
  41. [InlineData(1280, 718, false, "720p")]
  42. [InlineData(1912, 792, false, "1080p")]
  43. [InlineData(1916, 1076, false, "1080p")]
  44. [InlineData(1918, 1080, false, "1080p")]
  45. [InlineData(1920, 796, false, "1080p")]
  46. [InlineData(1920, 800, false, "1080p")]
  47. [InlineData(1920, 802, false, "1080p")]
  48. [InlineData(1920, 804, false, "1080p")]
  49. [InlineData(1920, 808, false, "1080p")]
  50. [InlineData(1920, 816, false, "1080p")]
  51. [InlineData(1920, 856, false, "1080p")]
  52. [InlineData(1920, 960, false, "1080p")]
  53. [InlineData(1920, 1024, false, "1080p")]
  54. [InlineData(1920, 1040, false, "1080p")]
  55. [InlineData(1920, 1072, false, "1080p")]
  56. [InlineData(1440, 1072, false, "1080p")]
  57. [InlineData(1440, 1080, false, "1080p")]
  58. [InlineData(3840, 1600, false, "4K")]
  59. [InlineData(3840, 1606, false, "4K")]
  60. [InlineData(3840, 1608, false, "4K")]
  61. [InlineData(3840, 2160, false, "4K")]
  62. [InlineData(7680, 4320, false, "8K")]
  63. public void GetResolutionText_Valid(int? width, int? height, bool interlaced, string expected)
  64. {
  65. var mediaStream = new MediaStream()
  66. {
  67. Width = width,
  68. Height = height,
  69. IsInterlaced = interlaced
  70. };
  71. Assert.Equal(expected, mediaStream.GetResolutionText());
  72. }
  73. }
  74. }