|
|
@ -12,6 +12,7 @@ public class MultiPartEpisodeGrouperTests |
|
|
|
[TestCase("Episode 1 - More", "Episode 2 (1) - Title", "Episode 3 (2) - After", "Episode 4 - Dash")] |
|
|
|
[TestCase("Episode 1 - More", "Episode 2 (1) - Title", "Episode 3 (2) - After", "Episode 4 - Dash")] |
|
|
|
[TestCase("Episode 1", "Episode 2 Part 1", "Episode 3 Part 2", "Episode 4")] |
|
|
|
[TestCase("Episode 1", "Episode 2 Part 1", "Episode 3 Part 2", "Episode 4")] |
|
|
|
[TestCase("Episode 1", "Episode 2 (Part 1)", "Episode 3 (Part 2)", "Episode 4")] |
|
|
|
[TestCase("Episode 1", "Episode 2 (Part 1)", "Episode 3 (Part 2)", "Episode 4")] |
|
|
|
|
|
|
|
[TestCase("Episode 1", "Episode 2 (Part One)", "Episode 3 (Part Two)", "Episode 4")] |
|
|
|
public void NotGrouped_Grouped_NotGrouped(string one, string two, string three, string four) |
|
|
|
public void NotGrouped_Grouped_NotGrouped(string one, string two, string three, string four) |
|
|
|
{ |
|
|
|
{ |
|
|
|
var mediaItems = new List<MediaItem> |
|
|
|
var mediaItems = new List<MediaItem> |
|
|
@ -35,7 +36,9 @@ public class MultiPartEpisodeGrouperTests |
|
|
|
[TestCase("Episode 1 Part 1", "Episode 2 (2) - More", "Episode 3 - After")] |
|
|
|
[TestCase("Episode 1 Part 1", "Episode 2 (2) - More", "Episode 3 - After")] |
|
|
|
[TestCase("Episode 1 Part 1", "Episode 2 (II)", "Episode 3")] |
|
|
|
[TestCase("Episode 1 Part 1", "Episode 2 (II)", "Episode 3")] |
|
|
|
[TestCase("Episode 1 Part One", "Episode 2 (II)", "Episode 3")] |
|
|
|
[TestCase("Episode 1 Part One", "Episode 2 (II)", "Episode 3")] |
|
|
|
|
|
|
|
[TestCase("Episode 1 (Part One)", "Episode 2 (II)", "Episode 3")] |
|
|
|
[TestCase("Episode 1 (1)", "Episode 2 (Part 2)", "Episode 3")] |
|
|
|
[TestCase("Episode 1 (1)", "Episode 2 (Part 2)", "Episode 3")] |
|
|
|
|
|
|
|
|
|
|
|
public void MixedNaming_Group(string one, string two, string three) |
|
|
|
public void MixedNaming_Group(string one, string two, string three) |
|
|
|
{ |
|
|
|
{ |
|
|
|
var mediaItems = new List<MediaItem> |
|
|
|
var mediaItems = new List<MediaItem> |
|
|
@ -52,6 +55,24 @@ public class MultiPartEpisodeGrouperTests |
|
|
|
ShouldHaveOneItem(result, mediaItems[2]); |
|
|
|
ShouldHaveOneItem(result, mediaItems[2]); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
|
|
|
[TestCase("The Meddlers (Part One)", "The Meddlers (Part Two)", "The Meddlers (Part Three)")] |
|
|
|
|
|
|
|
[TestCase("S01E01 The Slaves of Jedikiah, Part 1", "S01E02 The Slaves of Jedikiah, Part 2", "S01E03 The Slaves of Jedikiah, Part 3")] |
|
|
|
|
|
|
|
public void All_Grouped(string one, string two, string three) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
var mediaItems = new List<MediaItem> |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
NamedEpisode(one, 1, 1, 1), |
|
|
|
|
|
|
|
NamedEpisode(two, 1, 1, 2), |
|
|
|
|
|
|
|
NamedEpisode(three, 1, 1, 3) |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<GroupedMediaItem> result = MultiPartEpisodeGrouper.GroupMediaItems(mediaItems, false); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
result.Count.ShouldBe(1); |
|
|
|
|
|
|
|
ShouldHaveMultipleItems(result, mediaItems[0], [mediaItems[1], mediaItems[2]]); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
[Test] |
|
|
|
[TestCase("Episode 1 (5)", "Episode 2 - (6)", "Episode 3")] |
|
|
|
[TestCase("Episode 1 (5)", "Episode 2 - (6)", "Episode 3")] |
|
|
|
[TestCase("Episode 1 Part 5", "Episode 2 Part 6", "Episode 3 - After")] |
|
|
|
[TestCase("Episode 1 Part 5", "Episode 2 Part 6", "Episode 3 - After")] |
|
|
|