DailyEpisodeTests.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. using Emby.Naming.Common;
  2. using Emby.Naming.TV;
  3. using Xunit;
  4. namespace Jellyfin.Naming.Tests.TV
  5. {
  6. public class DailyEpisodeTests
  7. {
  8. [Theory]
  9. [InlineData(@"/server/anything_1996.11.14.mp4", "anything", 1996, 11, 14)]
  10. [InlineData(@"/server/anything_1996-11-14.mp4", "anything", 1996, 11, 14)]
  11. [InlineData(@"/server/james.corden.2017.04.20.anne.hathaway.720p.hdtv.x264-crooks.mkv", "james.corden", 2017, 04, 20)]
  12. [InlineData(@"/server/ABC News 2018_03_24_19_00_00.mkv", "ABC News", 2018, 03, 24)]
  13. // TODO: [InlineData(@"/server/anything_14.11.1996.mp4", "anything", 1996, 11, 14)]
  14. // TODO: [InlineData(@"/server/A Daily Show - (2015-01-15) - Episode Name - [720p].mkv", "A Daily Show", 2015, 01, 15)]
  15. // TODO: [InlineData(@"/server/Last Man Standing_KTLADT_2018_05_25_01_28_00.wtv", "Last Man Standing", 2018, 05, 25)]
  16. public void Test(string path, string seriesName, int? year, int? month, int? day)
  17. {
  18. var options = new NamingOptions();
  19. var result = new EpisodeResolver(options)
  20. .Resolve(path, false);
  21. Assert.Null(result.SeasonNumber);
  22. Assert.Null(result.EpisodeNumber);
  23. Assert.Equal(year, result.Year);
  24. Assert.Equal(month, result.Month);
  25. Assert.Equal(day, result.Day);
  26. Assert.Equal(seriesName, result.SeriesName, true);
  27. }
  28. }
  29. }