StubTests.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. }
  25. [Fact]
  26. public void TestStubName()
  27. {
  28. var result =
  29. new VideoResolver(_namingOptions).ResolveFile(@"C:/Users/media/Desktop/Video Test/Movies/Oblivion/Oblivion.dvd.disc");
  30. Assert.Equal("Oblivion", result?.Name);
  31. }
  32. private void Test(string path, bool isStub, string? stubType)
  33. {
  34. var isStubResult = StubResolver.TryResolveFile(path, _namingOptions, out var stubTypeResult);
  35. Assert.Equal(isStub, isStubResult);
  36. if (isStub)
  37. {
  38. Assert.Equal(stubType, stubTypeResult);
  39. }
  40. else
  41. {
  42. Assert.Null(stubTypeResult);
  43. }
  44. }
  45. }
  46. }