RecordingHelperTests.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. using System;
  2. using System.Collections.Generic;
  3. using Emby.Server.Implementations.LiveTv.EmbyTV;
  4. using MediaBrowser.Controller.LiveTv;
  5. using Xunit;
  6. namespace Jellyfin.Server.Implementations.Tests.LiveTv
  7. {
  8. public static class RecordingHelperTests
  9. {
  10. public static IEnumerable<object[]> GetRecordingName_Success_TestData()
  11. {
  12. yield return new object[]
  13. {
  14. "The Incredibles 2020_04_20_21_06_00",
  15. new TimerInfo
  16. {
  17. Name = "The Incredibles",
  18. StartDate = new DateTime(2020, 4, 20, 21, 6, 0, DateTimeKind.Local),
  19. IsMovie = true
  20. }
  21. };
  22. yield return new object[]
  23. {
  24. "The Incredibles (2004)",
  25. new TimerInfo
  26. {
  27. Name = "The Incredibles",
  28. IsMovie = true,
  29. ProductionYear = 2004
  30. }
  31. };
  32. yield return new object[]
  33. {
  34. "The Big Bang Theory 2020_04_20_21_06_00",
  35. new TimerInfo
  36. {
  37. Name = "The Big Bang Theory",
  38. StartDate = new DateTime(2020, 4, 20, 21, 6, 0, DateTimeKind.Local),
  39. IsProgramSeries = true,
  40. }
  41. };
  42. yield return new object[]
  43. {
  44. "The Big Bang Theory S12E10",
  45. new TimerInfo
  46. {
  47. Name = "The Big Bang Theory",
  48. IsProgramSeries = true,
  49. SeasonNumber = 12,
  50. EpisodeNumber = 10
  51. }
  52. };
  53. yield return new object[]
  54. {
  55. "The Big Bang Theory S12E10 The VCR Illumination",
  56. new TimerInfo
  57. {
  58. Name = "The Big Bang Theory",
  59. IsProgramSeries = true,
  60. SeasonNumber = 12,
  61. EpisodeNumber = 10,
  62. EpisodeTitle = "The VCR Illumination"
  63. }
  64. };
  65. yield return new object[]
  66. {
  67. "The Big Bang Theory 2018-12-06",
  68. new TimerInfo
  69. {
  70. Name = "The Big Bang Theory",
  71. IsProgramSeries = true,
  72. OriginalAirDate = new DateTime(2018, 12, 6)
  73. }
  74. };
  75. yield return new object[]
  76. {
  77. "The Big Bang Theory 2018-12-06 - The VCR Illumination",
  78. new TimerInfo
  79. {
  80. Name = "The Big Bang Theory",
  81. IsProgramSeries = true,
  82. OriginalAirDate = new DateTime(2018, 12, 6),
  83. EpisodeTitle = "The VCR Illumination"
  84. }
  85. };
  86. yield return new object[]
  87. {
  88. "The Big Bang Theory 2018_12_06_21_06_00 - The VCR Illumination",
  89. new TimerInfo
  90. {
  91. Name = "The Big Bang Theory",
  92. StartDate = new DateTime(2018, 12, 6, 21, 6, 0, DateTimeKind.Local),
  93. IsProgramSeries = true,
  94. OriginalAirDate = new DateTime(2018, 12, 6),
  95. EpisodeTitle = "The VCR Illumination"
  96. }
  97. };
  98. }
  99. [Theory]
  100. [MemberData(nameof(GetRecordingName_Success_TestData))]
  101. public static void GetRecordingName_Success(string expected, TimerInfo timerInfo)
  102. {
  103. Assert.Equal(expected, RecordingHelper.GetRecordingName(timerInfo));
  104. }
  105. }
  106. }