MediaStreamTests.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. public void GetResolutionText_Valid(int? width, int? height, bool interlaced, string expected)
  63. {
  64. var mediaStream = new MediaStream()
  65. {
  66. Width = width,
  67. Height = height,
  68. IsInterlaced = interlaced
  69. };
  70. Assert.Equal(expected, mediaStream.GetResolutionText());
  71. }
  72. }
  73. }