diff options
| author | Bond-009 <bond.009@outlook.com> | 2021-09-28 10:59:25 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-28 10:59:25 +0200 |
| commit | 2def7043cedeb0e2c7e7daffef0c389670b7e0dc (patch) | |
| tree | e8944e02f4fd503a2bd252ad94f2ad1e15f11c02 /tests/Jellyfin.Server.Implementations.Tests/Sorting | |
| parent | 60f3d7ca6cdd760b0a66dc4b74ffc9dd1495a5b8 (diff) | |
| parent | 8858d8e59789ee3ad7b55077900d80437ef982b5 (diff) | |
Merge pull request #6546 from ianjazz246/theorydata
Diffstat (limited to 'tests/Jellyfin.Server.Implementations.Tests/Sorting')
| -rw-r--r-- | tests/Jellyfin.Server.Implementations.Tests/Sorting/AiredEpisodeOrderComparerTests.cs | 173 |
1 files changed, 70 insertions, 103 deletions
diff --git a/tests/Jellyfin.Server.Implementations.Tests/Sorting/AiredEpisodeOrderComparerTests.cs b/tests/Jellyfin.Server.Implementations.Tests/Sorting/AiredEpisodeOrderComparerTests.cs index e94c509d7..f12681b59 100644 --- a/tests/Jellyfin.Server.Implementations.Tests/Sorting/AiredEpisodeOrderComparerTests.cs +++ b/tests/Jellyfin.Server.Implementations.Tests/Sorting/AiredEpisodeOrderComparerTests.cs @@ -13,7 +13,7 @@ namespace Jellyfin.Server.Implementations.Tests.Sorting { [Theory] [ClassData(typeof(EpisodeBadData))] - public void Compare_GivenNull_ThrowsArgumentNullException(BaseItem x, BaseItem y) + public void Compare_GivenNull_ThrowsArgumentNullException(BaseItem? x, BaseItem? y) { var cmp = new AiredEpisodeOrderComparer(); Assert.Throws<ArgumentNullException>(() => cmp.Compare(x, y)); @@ -29,171 +29,138 @@ namespace Jellyfin.Server.Implementations.Tests.Sorting Assert.Equal(-expected, cmp.Compare(y, x)); } - private class EpisodeBadData : IEnumerable<object?[]> + private class EpisodeBadData : TheoryData<BaseItem?, BaseItem?> { - public IEnumerator<object?[]> GetEnumerator() + public EpisodeBadData() { - yield return new object?[] { null, new Episode() }; - yield return new object?[] { new Episode(), null }; + Add(null, new Episode()); + Add(new Episode(), null); } - - IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); } - private class EpisodeTestData : IEnumerable<object?[]> + private class EpisodeTestData : TheoryData<BaseItem, BaseItem, int> { - public IEnumerator<object?[]> GetEnumerator() + public EpisodeTestData() { - yield return new object?[] - { + Add( new Movie(), new Movie(), - 0 - }; - yield return new object?[] - { + 0); + + Add( new Movie(), new Episode(), - 1 - }; + 1); + // Good cases - yield return new object?[] - { + Add( new Episode(), new Episode(), - 0 - }; - yield return new object?[] - { + 0); + + Add( new Episode { ParentIndexNumber = 1, IndexNumber = 1 }, new Episode { ParentIndexNumber = 1, IndexNumber = 1 }, - 0 - }; - yield return new object?[] - { + 0); + + Add( new Episode { ParentIndexNumber = 1, IndexNumber = 2 }, new Episode { ParentIndexNumber = 1, IndexNumber = 1 }, - 1 - }; - yield return new object?[] - { + 1); + + Add( new Episode { ParentIndexNumber = 2, IndexNumber = 1 }, new Episode { ParentIndexNumber = 1, IndexNumber = 1 }, - 1 - }; + 1); + // Good Specials - yield return new object?[] - { + Add( new Episode { ParentIndexNumber = 0, IndexNumber = 1 }, new Episode { ParentIndexNumber = 0, IndexNumber = 1 }, - 0 - }; - yield return new object?[] - { + 0); + + Add( new Episode { ParentIndexNumber = 0, IndexNumber = 2 }, new Episode { ParentIndexNumber = 0, IndexNumber = 1 }, - 1 - }; + 1); // Specials to Episodes - yield return new object?[] - { + Add( new Episode { ParentIndexNumber = 1, IndexNumber = 1 }, new Episode { ParentIndexNumber = 0, IndexNumber = 1 }, - 1 - }; - yield return new object?[] - { + 1); + + Add( new Episode { ParentIndexNumber = 1, IndexNumber = 1 }, new Episode { ParentIndexNumber = 0, IndexNumber = 2 }, - 1 - }; - yield return new object?[] - { + 1); + + Add( new Episode { ParentIndexNumber = 1, IndexNumber = 2 }, new Episode { ParentIndexNumber = 0, IndexNumber = 1 }, - 1 - }; + 1); - yield return new object?[] - { + Add( new Episode { ParentIndexNumber = 1, IndexNumber = 2 }, new Episode { ParentIndexNumber = 0, IndexNumber = 1 }, - 1 - }; - yield return new object?[] - { + 1); + + Add( new Episode { ParentIndexNumber = 1, IndexNumber = 1 }, new Episode { ParentIndexNumber = 0, IndexNumber = 2 }, - 1 - }; + 1); - yield return new object?[] - { + Add( new Episode { ParentIndexNumber = 0, IndexNumber = 1, AirsAfterSeasonNumber = 1 }, new Episode { ParentIndexNumber = 1, IndexNumber = 1 }, - 1 - }; - yield return new object?[] - { + 1); + + Add( new Episode { ParentIndexNumber = 3, IndexNumber = 1 }, new Episode { ParentIndexNumber = 0, IndexNumber = 1, AirsAfterSeasonNumber = 1 }, - 1 - }; + 1); - yield return new object?[] - { + Add( new Episode { ParentIndexNumber = 3, IndexNumber = 1 }, new Episode { ParentIndexNumber = 0, IndexNumber = 1, AirsAfterSeasonNumber = 1, AirsBeforeEpisodeNumber = 2 }, - 1 - }; + 1); - yield return new object?[] - { + Add( new Episode { ParentIndexNumber = 1, IndexNumber = 1 }, new Episode { ParentIndexNumber = 0, IndexNumber = 1, AirsBeforeSeasonNumber = 1 }, - 1 - }; - yield return new object?[] - { + 1); + + Add( new Episode { ParentIndexNumber = 1, IndexNumber = 2 }, new Episode { ParentIndexNumber = 0, IndexNumber = 1, AirsBeforeSeasonNumber = 1, AirsBeforeEpisodeNumber = 2 }, - 1 - }; - yield return new object?[] - { + 1); + + Add( new Episode { ParentIndexNumber = 1 }, new Episode { ParentIndexNumber = 0, IndexNumber = 1, AirsBeforeSeasonNumber = 1, AirsBeforeEpisodeNumber = 2 }, - 0 - }; - yield return new object?[] - { + 0); + + Add( new Episode { ParentIndexNumber = 1, IndexNumber = 3 }, new Episode { ParentIndexNumber = 0, IndexNumber = 1, AirsBeforeSeasonNumber = 1, AirsBeforeEpisodeNumber = 2 }, - 1 - }; + 1); + // Premiere Date - yield return new object?[] - { + Add( new Episode { ParentIndexNumber = 1, IndexNumber = 1, PremiereDate = new DateTime(2021, 09, 12, 0, 0, 0) }, new Episode { ParentIndexNumber = 1, IndexNumber = 1, PremiereDate = new DateTime(2021, 09, 12, 0, 0, 0) }, - 0 - }; - yield return new object?[] - { + 0); + + Add( new Episode { ParentIndexNumber = 1, IndexNumber = 1, PremiereDate = new DateTime(2021, 09, 11, 0, 0, 0) }, new Episode { ParentIndexNumber = 1, IndexNumber = 1, PremiereDate = new DateTime(2021, 09, 12, 0, 0, 0) }, - -1 - }; - yield return new object?[] - { + -1); + + Add( new Episode { ParentIndexNumber = 1, IndexNumber = 1, PremiereDate = new DateTime(2021, 09, 12, 0, 0, 0) }, new Episode { ParentIndexNumber = 1, IndexNumber = 1, PremiereDate = new DateTime(2021, 09, 11, 0, 0, 0) }, - 1 - }; + 1); } - - IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); } } } |
