Add tests for BuildEpisodeList(IEnumerable<(int EpisodeNumber, DateTime? Aired)> orderedEpisodes) overload

This commit is contained in:
Adam Worley 2020-10-08 13:16:18 +01:00
commit 19342df972

View file

@ -31,5 +31,66 @@ namespace Ombi.Schedule.Tests
yield return new TestCaseData(new List<int>{1}).Returns("1").SetName("Single Episode");
}
}
[Test, TestCaseSource(nameof(EpisodeAndDateListData))]
public string BuildEpisodeListTest(List<(int, DateTime?)> episodes)
{
var ep = new List<(int, DateTime?)>();
foreach (var i in episodes)
{
ep.Add(i);
}
var result = StringHelper.BuildEpisodeList(ep);
return result;
}
static IEnumerable<TestCaseData> EpisodeAndDateListData
{
get
{
yield return new TestCaseData(new List<(int, DateTime?)> {
(1, (DateTime?)null), }).Returns("1").SetName("Single episode date is null ");
yield return new TestCaseData(new List<(int, DateTime?)> {
(1, new DateTime(2020, 01, 01)), }).Returns("1 2020-01-01").SetName("Simple With Date Single episode");
yield return new TestCaseData(new List<(int, DateTime?)> {
(1, new DateTime(2020, 01, 01)),
(2, new DateTime(2020, 01, 02)),
(3, new DateTime(2020, 01, 03)),
(4, new DateTime(2020, 01, 04)),
(5, new DateTime(2020, 01, 05)),
(6, new DateTime(2020, 01, 06)) }).Returns("1-6 2020-01").SetName("Simple With Date 1-6");
yield return new TestCaseData(new List<(int, DateTime?)> {
(1, new DateTime(2020, 01, 01)),
(2, new DateTime(2020, 01, 02)),
(3, new DateTime(2020, 01, 03)),
(4, new DateTime(2020, 01, 04)),
(5, new DateTime(2020, 01, 05)),
(6, new DateTime(2020, 01, 06)),
(8, new DateTime(2020, 02, 08)),
(9, new DateTime(2020, 02, 09)),}).Returns("1-6 2020-01, 8-9 2020-02").SetName("Simple With Date 1-6, 8-9");
yield return new TestCaseData(new List<(int, DateTime?)> {
(1, new DateTime(2020, 01, 01)),
(2, new DateTime(2020, 01, 02)),
(3, new DateTime(2020, 01, 03)),
(4, new DateTime(2020, 01, 04)),
(5, new DateTime(2020, 01, 05)),
(6, new DateTime(2020, 01, 06)),
(8, new DateTime(2020, 01, 08)),
(9, new DateTime(2020, 02, 09)),}).Returns("1-6 2020-01, 8-9 2020-02").SetName("Simple With Date 1-6, 8-9 overlapping month");
yield return new TestCaseData(new List<(int, DateTime?)> {
(1, new DateTime(2020, 01, 01)),
(99, new DateTime(2020, 02, 27)),
(101, new DateTime(2020, 03, 15)),
(555, new DateTime(2020, 05, 04)),
(468, new DateTime(2020, 06, 05)),
(469, new DateTime(2020, 06, 12)) }).Returns("1 2020-01, 99 2020-02, 101 2020-03, 555 2020-05, 468-469 2020-06").SetName("More Complex with dates");
}
}
}
}