StubTests.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using Emby.Naming.Common;
  2. using Emby.Naming.Video;
  3. using Xunit;
  4. namespace Jellyfin.Naming.Tests.Video
  5. {
  6. public class StubTests
  7. {
  8. private readonly NamingOptions _namingOptions = new NamingOptions();
  9. [Fact]
  10. public void TestStubs()
  11. {
  12. Test("video.mkv", false, null);
  13. Test("video.disc", true, null);
  14. Test("video.dvd.disc", true, "dvd");
  15. Test("video.hddvd.disc", true, "hddvd");
  16. Test("video.bluray.disc", true, "bluray");
  17. Test("video.brrip.disc", true, "bluray");
  18. Test("video.bd25.disc", true, "bluray");
  19. Test("video.bd50.disc", true, "bluray");
  20. Test("video.vhs.disc", true, "vhs");
  21. Test("video.hdtv.disc", true, "tv");
  22. Test("video.pdtv.disc", true, "tv");
  23. Test("video.dsr.disc", true, "tv");
  24. Test(string.Empty, false, "tv");
  25. }
  26. [Fact]
  27. public void TestStubName()
  28. {
  29. var result =
  30. new VideoResolver(_namingOptions).ResolveFile(@"C:/Users/media/Desktop/Video Test/Movies/Oblivion/Oblivion.dvd.disc");
  31. Assert.Equal("Oblivion", result?.Name);
  32. }
  33. private void Test(string path, bool isStub, string? stubType)
  34. {
  35. var isStubResult = StubResolver.TryResolveFile(path, _namingOptions, out var stubTypeResult);
  36. Assert.Equal(isStub, isStubResult);
  37. if (isStub)
  38. {
  39. Assert.Equal(stubType, stubTypeResult);
  40. }
  41. else
  42. {
  43. Assert.Null(stubTypeResult);
  44. }
  45. }
  46. }
  47. }