|
|
|
@ -32,6 +32,14 @@ public class PlayoutBuilderTests |
|
|
|
_logger = loggerFactory?.CreateLogger<PlayoutBuilder>(); |
|
|
|
_logger = loggerFactory?.CreateLogger<PlayoutBuilder>(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private CancellationToken _cancellationToken; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[SetUp] |
|
|
|
|
|
|
|
public void SetUp() |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
_cancellationToken = new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
[TestFixture] |
|
|
|
[TestFixture] |
|
|
|
public class NewPlayout : PlayoutBuilderTests |
|
|
|
public class NewPlayout : PlayoutBuilderTests |
|
|
|
{ |
|
|
|
{ |
|
|
|
@ -46,7 +54,7 @@ public class PlayoutBuilderTests |
|
|
|
|
|
|
|
|
|
|
|
(PlayoutBuilder builder, Playout playout) = TestDataFloodForItems(mediaItems, PlaybackOrder.Random); |
|
|
|
(PlayoutBuilder builder, Playout playout) = TestDataFloodForItems(mediaItems, PlaybackOrder.Random); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Should().BeEmpty(); |
|
|
|
result.Items.Should().BeEmpty(); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -64,7 +72,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(1); |
|
|
|
result.Items.Count.Should().Be(1); |
|
|
|
result.Items.Head().MediaItemId.Should().Be(2); |
|
|
|
result.Items.Head().MediaItemId.Should().Be(2); |
|
|
|
@ -94,7 +102,7 @@ public class PlayoutBuilderTests |
|
|
|
(PlayoutBuilder builder, Playout playout) = |
|
|
|
(PlayoutBuilder builder, Playout playout) = |
|
|
|
TestDataFloodForItems(mediaItems, PlaybackOrder.Random, configRepo); |
|
|
|
TestDataFloodForItems(mediaItems, PlaybackOrder.Random, configRepo); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
configRepo.Verify(); |
|
|
|
configRepo.Verify(); |
|
|
|
|
|
|
|
|
|
|
|
@ -123,7 +131,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
configRepo.Verify(); |
|
|
|
configRepo.Verify(); |
|
|
|
|
|
|
|
|
|
|
|
@ -155,7 +163,7 @@ public class PlayoutBuilderTests |
|
|
|
(PlayoutBuilder builder, Playout playout) = |
|
|
|
(PlayoutBuilder builder, Playout playout) = |
|
|
|
TestDataFloodForItems(mediaItems, PlaybackOrder.Random, configRepo); |
|
|
|
TestDataFloodForItems(mediaItems, PlaybackOrder.Random, configRepo); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
configRepo.Verify(); |
|
|
|
configRepo.Verify(); |
|
|
|
|
|
|
|
|
|
|
|
@ -184,7 +192,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
configRepo.Verify(); |
|
|
|
configRepo.Verify(); |
|
|
|
|
|
|
|
|
|
|
|
@ -217,7 +225,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(1); |
|
|
|
result.Items.Count.Should().Be(1); |
|
|
|
result.Items.Head().StartOffset.TimeOfDay.Should().Be(TimeSpan.Zero); |
|
|
|
result.Items.Head().StartOffset.TimeOfDay.Should().Be(TimeSpan.Zero); |
|
|
|
@ -247,7 +255,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(1); |
|
|
|
result.Items.Count.Should().Be(1); |
|
|
|
result.Items.Head().StartOffset.TimeOfDay.Should().Be(TimeSpan.Zero); |
|
|
|
result.Items.Head().StartOffset.TimeOfDay.Should().Be(TimeSpan.Zero); |
|
|
|
@ -268,7 +276,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(1); |
|
|
|
result.Items.Count.Should().Be(1); |
|
|
|
result.Items.Head().StartOffset.TimeOfDay.Should().Be(TimeSpan.Zero); |
|
|
|
result.Items.Head().StartOffset.TimeOfDay.Should().Be(TimeSpan.Zero); |
|
|
|
@ -289,7 +297,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(1); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(1); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(2); |
|
|
|
result.Items.Count.Should().Be(2); |
|
|
|
result.Items[0].StartOffset.TimeOfDay.Should().Be(TimeSpan.Zero); |
|
|
|
result.Items[0].StartOffset.TimeOfDay.Should().Be(TimeSpan.Zero); |
|
|
|
@ -313,7 +321,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(4); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(4); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(4); |
|
|
|
result.Items.Count.Should().Be(4); |
|
|
|
result.Items[0].StartOffset.TimeOfDay.Should().Be(TimeSpan.Zero); |
|
|
|
result.Items[0].StartOffset.TimeOfDay.Should().Be(TimeSpan.Zero); |
|
|
|
@ -342,7 +350,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(1); |
|
|
|
result.Items.Count.Should().Be(1); |
|
|
|
result.Items.Head().MediaItemId.Should().Be(1); |
|
|
|
result.Items.Head().MediaItemId.Should().Be(1); |
|
|
|
@ -355,7 +363,12 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start2 = HoursAfterMidnight(1); |
|
|
|
DateTimeOffset start2 = HoursAfterMidnight(1); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result2 = await builder.Build(playout, PlayoutBuildMode.Continue, start2, finish2); |
|
|
|
Playout result2 = await builder.Build( |
|
|
|
|
|
|
|
playout, |
|
|
|
|
|
|
|
PlayoutBuildMode.Continue, |
|
|
|
|
|
|
|
start2, |
|
|
|
|
|
|
|
finish2, |
|
|
|
|
|
|
|
_cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result2.Items.Count.Should().Be(2); |
|
|
|
result2.Items.Count.Should().Be(2); |
|
|
|
result2.Items.Last().StartOffset.TimeOfDay.Should().Be(TimeSpan.FromHours(6)); |
|
|
|
result2.Items.Last().StartOffset.TimeOfDay.Should().Be(TimeSpan.FromHours(6)); |
|
|
|
@ -380,7 +393,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(1); |
|
|
|
result.Items.Count.Should().Be(1); |
|
|
|
result.Items.Head().MediaItemId.Should().Be(1); |
|
|
|
result.Items.Head().MediaItemId.Should().Be(1); |
|
|
|
@ -392,7 +405,12 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start2 = HoursAfterMidnight(1); |
|
|
|
DateTimeOffset start2 = HoursAfterMidnight(1); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromHours(12); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromHours(12); |
|
|
|
|
|
|
|
|
|
|
|
Playout result2 = await builder.Build(playout, PlayoutBuildMode.Continue, start2, finish2); |
|
|
|
Playout result2 = await builder.Build( |
|
|
|
|
|
|
|
playout, |
|
|
|
|
|
|
|
PlayoutBuildMode.Continue, |
|
|
|
|
|
|
|
start2, |
|
|
|
|
|
|
|
finish2, |
|
|
|
|
|
|
|
_cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result2.Items.Count.Should().Be(3); |
|
|
|
result2.Items.Count.Should().Be(3); |
|
|
|
result2.Items[1].StartOffset.TimeOfDay.Should().Be(TimeSpan.FromHours(6)); |
|
|
|
result2.Items[1].StartOffset.TimeOfDay.Should().Be(TimeSpan.FromHours(6)); |
|
|
|
@ -422,7 +440,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(6); |
|
|
|
result.Items.Count.Should().Be(6); |
|
|
|
result.Anchor.NextStartOffset.Should().Be(DateTime.Today.AddHours(6)); |
|
|
|
result.Anchor.NextStartOffset.Should().Be(DateTime.Today.AddHours(6)); |
|
|
|
@ -435,7 +453,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start2 = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start2 = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result2 = await builder.Build(playout, PlayoutBuildMode.Reset, start2, finish2); |
|
|
|
Playout result2 = await builder.Build(playout, PlayoutBuildMode.Reset, start2, finish2, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result2.Items.Count.Should().Be(6); |
|
|
|
result2.Items.Count.Should().Be(6); |
|
|
|
result2.Anchor.NextStartOffset.Should().Be(DateTime.Today.AddHours(6)); |
|
|
|
result2.Anchor.NextStartOffset.Should().Be(DateTime.Today.AddHours(6)); |
|
|
|
@ -462,7 +480,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(6); |
|
|
|
result.Items.Count.Should().Be(6); |
|
|
|
result.ProgramScheduleAnchors.Count.Should().Be(1); |
|
|
|
result.ProgramScheduleAnchors.Count.Should().Be(1); |
|
|
|
@ -475,7 +493,12 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start2 = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start2 = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result2 = await builder.Build(playout, PlayoutBuildMode.Continue, start2, finish2); |
|
|
|
Playout result2 = await builder.Build( |
|
|
|
|
|
|
|
playout, |
|
|
|
|
|
|
|
PlayoutBuildMode.Continue, |
|
|
|
|
|
|
|
start2, |
|
|
|
|
|
|
|
finish2, |
|
|
|
|
|
|
|
_cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
int secondSeedValue = result2.ProgramScheduleAnchors.Head().EnumeratorState.Seed; |
|
|
|
int secondSeedValue = result2.ProgramScheduleAnchors.Head().EnumeratorState.Seed; |
|
|
|
|
|
|
|
|
|
|
|
@ -564,7 +587,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(5); |
|
|
|
result.Items.Count.Should().Be(5); |
|
|
|
result.Items[0].StartOffset.TimeOfDay.Should().Be(TimeSpan.Zero); |
|
|
|
result.Items[0].StartOffset.TimeOfDay.Should().Be(TimeSpan.Zero); |
|
|
|
@ -661,7 +684,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(30); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(30); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(28); |
|
|
|
result.Items.Count.Should().Be(28); |
|
|
|
result.Items[0].StartOffset.TimeOfDay.Should().Be(TimeSpan.Zero); |
|
|
|
result.Items[0].StartOffset.TimeOfDay.Should().Be(TimeSpan.Zero); |
|
|
|
@ -806,7 +829,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(7); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(7); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(6); |
|
|
|
result.Items.Count.Should().Be(6); |
|
|
|
|
|
|
|
|
|
|
|
@ -909,7 +932,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(24); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(24); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(6); |
|
|
|
result.Items.Count.Should().Be(6); |
|
|
|
|
|
|
|
|
|
|
|
@ -1021,7 +1044,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(32); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(32); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Continue, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Continue, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(5); |
|
|
|
result.Items.Count.Should().Be(5); |
|
|
|
|
|
|
|
|
|
|
|
@ -1126,7 +1149,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(7); |
|
|
|
result.Items.Count.Should().Be(7); |
|
|
|
|
|
|
|
|
|
|
|
@ -1235,7 +1258,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(6); |
|
|
|
result.Items.Count.Should().Be(6); |
|
|
|
|
|
|
|
|
|
|
|
@ -1349,7 +1372,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(5); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(5); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Continue, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Continue, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(4); |
|
|
|
result.Items.Count.Should().Be(4); |
|
|
|
|
|
|
|
|
|
|
|
@ -1452,7 +1475,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(5); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(5); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(5); |
|
|
|
result.Items.Count.Should().Be(5); |
|
|
|
|
|
|
|
|
|
|
|
@ -1566,7 +1589,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(5); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(5); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Continue, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Continue, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(4); |
|
|
|
result.Items.Count.Should().Be(4); |
|
|
|
|
|
|
|
|
|
|
|
@ -1691,7 +1714,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(12); |
|
|
|
result.Items.Count.Should().Be(12); |
|
|
|
|
|
|
|
|
|
|
|
@ -1808,7 +1831,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(1); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(1); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(2); |
|
|
|
result.Items.Count.Should().Be(2); |
|
|
|
|
|
|
|
|
|
|
|
@ -1885,7 +1908,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(6); |
|
|
|
result.Items.Count.Should().Be(6); |
|
|
|
|
|
|
|
|
|
|
|
@ -1921,7 +1944,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromDays(2); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromDays(2); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(8); |
|
|
|
result.Items.Count.Should().Be(8); |
|
|
|
result.Items[0].MediaItemId.Should().Be(1); |
|
|
|
result.Items[0].MediaItemId.Should().Be(1); |
|
|
|
@ -1980,7 +2003,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(6); |
|
|
|
result.Items.Count.Should().Be(6); |
|
|
|
result.Anchor.NextStartOffset.Should().Be(DateTime.Today.AddHours(6)); |
|
|
|
result.Anchor.NextStartOffset.Should().Be(DateTime.Today.AddHours(6)); |
|
|
|
@ -1993,7 +2016,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start2 = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start2 = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result2 = await builder.Build(playout, PlayoutBuildMode.Reset, start2, finish2); |
|
|
|
Playout result2 = await builder.Build(playout, PlayoutBuildMode.Reset, start2, finish2, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result2.Items.Count.Should().Be(6); |
|
|
|
result2.Items.Count.Should().Be(6); |
|
|
|
result2.Anchor.NextStartOffset.Should().Be(DateTime.Today.AddHours(6)); |
|
|
|
result2.Anchor.NextStartOffset.Should().Be(DateTime.Today.AddHours(6)); |
|
|
|
@ -2098,7 +2121,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(24); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(24); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromDays(1); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromDays(1); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Refresh, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Refresh, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(4); |
|
|
|
result.Items.Count.Should().Be(4); |
|
|
|
result.Items[0].MediaItemId.Should().Be(2); |
|
|
|
result.Items[0].MediaItemId.Should().Be(2); |
|
|
|
@ -2135,7 +2158,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(1); |
|
|
|
result.Items.Count.Should().Be(1); |
|
|
|
result.Items.Head().MediaItemId.Should().Be(1); |
|
|
|
result.Items.Head().MediaItemId.Should().Be(1); |
|
|
|
@ -2148,7 +2171,12 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start2 = HoursAfterMidnight(1); |
|
|
|
DateTimeOffset start2 = HoursAfterMidnight(1); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result2 = await builder.Build(playout, PlayoutBuildMode.Continue, start2, finish2); |
|
|
|
Playout result2 = await builder.Build( |
|
|
|
|
|
|
|
playout, |
|
|
|
|
|
|
|
PlayoutBuildMode.Continue, |
|
|
|
|
|
|
|
start2, |
|
|
|
|
|
|
|
finish2, |
|
|
|
|
|
|
|
_cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result2.Items.Count.Should().Be(2); |
|
|
|
result2.Items.Count.Should().Be(2); |
|
|
|
result2.Items.Last().StartOffset.TimeOfDay.Should().Be(TimeSpan.FromHours(6)); |
|
|
|
result2.Items.Last().StartOffset.TimeOfDay.Should().Be(TimeSpan.FromHours(6)); |
|
|
|
@ -2173,7 +2201,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(1); |
|
|
|
result.Items.Count.Should().Be(1); |
|
|
|
result.Items.Head().MediaItemId.Should().Be(1); |
|
|
|
result.Items.Head().MediaItemId.Should().Be(1); |
|
|
|
@ -2185,7 +2213,12 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start2 = HoursAfterMidnight(1); |
|
|
|
DateTimeOffset start2 = HoursAfterMidnight(1); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromHours(12); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromHours(12); |
|
|
|
|
|
|
|
|
|
|
|
Playout result2 = await builder.Build(playout, PlayoutBuildMode.Continue, start2, finish2); |
|
|
|
Playout result2 = await builder.Build( |
|
|
|
|
|
|
|
playout, |
|
|
|
|
|
|
|
PlayoutBuildMode.Continue, |
|
|
|
|
|
|
|
start2, |
|
|
|
|
|
|
|
finish2, |
|
|
|
|
|
|
|
_cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result2.Items.Count.Should().Be(3); |
|
|
|
result2.Items.Count.Should().Be(3); |
|
|
|
result2.Items[1].StartOffset.TimeOfDay.Should().Be(TimeSpan.FromHours(6)); |
|
|
|
result2.Items[1].StartOffset.TimeOfDay.Should().Be(TimeSpan.FromHours(6)); |
|
|
|
@ -2212,7 +2245,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromDays(1); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromDays(1); |
|
|
|
|
|
|
|
|
|
|
|
await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
playout.Items.Count.Should().Be(4); |
|
|
|
playout.Items.Count.Should().Be(4); |
|
|
|
playout.Items.Map(i => i.MediaItemId).ToList().Should().Equal(1, 2, 1, 2); |
|
|
|
playout.Items.Map(i => i.MediaItemId).ToList().Should().Equal(1, 2, 1, 2); |
|
|
|
@ -2249,7 +2282,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start2 = HoursAfterMidnight(1); |
|
|
|
DateTimeOffset start2 = HoursAfterMidnight(1); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromDays(1); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromDays(1); |
|
|
|
|
|
|
|
|
|
|
|
await builder.Build(playout, PlayoutBuildMode.Continue, start2, finish2); |
|
|
|
await builder.Build(playout, PlayoutBuildMode.Continue, start2, finish2, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
playout.Items.Count.Should().Be(5); |
|
|
|
playout.Items.Count.Should().Be(5); |
|
|
|
playout.Items[0].StartOffset.TimeOfDay.Should().Be(TimeSpan.FromHours(0)); |
|
|
|
playout.Items[0].StartOffset.TimeOfDay.Should().Be(TimeSpan.FromHours(0)); |
|
|
|
@ -2272,7 +2305,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start3 = HoursAfterMidnight(2); |
|
|
|
DateTimeOffset start3 = HoursAfterMidnight(2); |
|
|
|
DateTimeOffset finish3 = start3 + TimeSpan.FromDays(1); |
|
|
|
DateTimeOffset finish3 = start3 + TimeSpan.FromDays(1); |
|
|
|
|
|
|
|
|
|
|
|
await builder.Build(playout, PlayoutBuildMode.Continue, start3, finish3); |
|
|
|
await builder.Build(playout, PlayoutBuildMode.Continue, start3, finish3, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
playout.Items.Count.Should().Be(5); |
|
|
|
playout.Items.Count.Should().Be(5); |
|
|
|
playout.Items[0].StartOffset.TimeOfDay.Should().Be(TimeSpan.FromHours(0)); |
|
|
|
playout.Items[0].StartOffset.TimeOfDay.Should().Be(TimeSpan.FromHours(0)); |
|
|
|
@ -2306,7 +2339,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(6); |
|
|
|
result.Items.Count.Should().Be(6); |
|
|
|
result.ProgramScheduleAnchors.Count.Should().Be(1); |
|
|
|
result.ProgramScheduleAnchors.Count.Should().Be(1); |
|
|
|
@ -2318,7 +2351,12 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start2 = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start2 = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result2 = await builder.Build(result, PlayoutBuildMode.Continue, start2, finish2); |
|
|
|
Playout result2 = await builder.Build( |
|
|
|
|
|
|
|
result, |
|
|
|
|
|
|
|
PlayoutBuildMode.Continue, |
|
|
|
|
|
|
|
start2, |
|
|
|
|
|
|
|
finish2, |
|
|
|
|
|
|
|
_cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
int secondSeedValue = result2.ProgramScheduleAnchors.Head().EnumeratorState.Seed; |
|
|
|
int secondSeedValue = result2.ProgramScheduleAnchors.Head().EnumeratorState.Seed; |
|
|
|
|
|
|
|
|
|
|
|
@ -2340,7 +2378,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0).AddSeconds(5); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0).AddSeconds(5); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromDays(2); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromDays(2); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(53); |
|
|
|
result.Items.Count.Should().Be(53); |
|
|
|
result.ProgramScheduleAnchors.Count.Should().Be(2); |
|
|
|
result.ProgramScheduleAnchors.Count.Should().Be(2); |
|
|
|
@ -2368,7 +2406,12 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start2 = start.AddHours(1); |
|
|
|
DateTimeOffset start2 = start.AddHours(1); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromDays(2); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromDays(2); |
|
|
|
|
|
|
|
|
|
|
|
Playout result2 = await builder.Build(result, PlayoutBuildMode.Continue, start2, finish2); |
|
|
|
Playout result2 = await builder.Build( |
|
|
|
|
|
|
|
result, |
|
|
|
|
|
|
|
PlayoutBuildMode.Continue, |
|
|
|
|
|
|
|
start2, |
|
|
|
|
|
|
|
finish2, |
|
|
|
|
|
|
|
_cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
PlayoutProgramScheduleAnchor continueAnchor = |
|
|
|
PlayoutProgramScheduleAnchor continueAnchor = |
|
|
|
result2.ProgramScheduleAnchors.First(x => x.AnchorDate is null); |
|
|
|
result2.ProgramScheduleAnchors.First(x => x.AnchorDate is null); |
|
|
|
@ -2393,7 +2436,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(6); |
|
|
|
result.Items.Count.Should().Be(6); |
|
|
|
result.ProgramScheduleAnchors.Count.Should().Be(2); |
|
|
|
result.ProgramScheduleAnchors.Count.Should().Be(2); |
|
|
|
@ -2406,7 +2449,12 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start2 = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start2 = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromHours(6); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromHours(6); |
|
|
|
|
|
|
|
|
|
|
|
Playout result2 = await builder.Build(result, PlayoutBuildMode.Continue, start2, finish2); |
|
|
|
Playout result2 = await builder.Build( |
|
|
|
|
|
|
|
result, |
|
|
|
|
|
|
|
PlayoutBuildMode.Continue, |
|
|
|
|
|
|
|
start2, |
|
|
|
|
|
|
|
finish2, |
|
|
|
|
|
|
|
_cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
primaryAnchor = result2.ProgramScheduleAnchors.First(a => a.SmartCollectionId == 1); |
|
|
|
primaryAnchor = result2.ProgramScheduleAnchors.First(a => a.SmartCollectionId == 1); |
|
|
|
int secondSeedValue = primaryAnchor.EnumeratorState.Seed; |
|
|
|
int secondSeedValue = primaryAnchor.EnumeratorState.Seed; |
|
|
|
@ -2430,7 +2478,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0).AddSeconds(5); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0).AddSeconds(5); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromDays(2); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromDays(2); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Reset, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(53); |
|
|
|
result.Items.Count.Should().Be(53); |
|
|
|
result.ProgramScheduleAnchors.Count.Should().Be(4); |
|
|
|
result.ProgramScheduleAnchors.Count.Should().Be(4); |
|
|
|
@ -2450,7 +2498,12 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start2 = start.AddHours(i); |
|
|
|
DateTimeOffset start2 = start.AddHours(i); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromDays(2); |
|
|
|
DateTimeOffset finish2 = start2 + TimeSpan.FromDays(2); |
|
|
|
|
|
|
|
|
|
|
|
Playout result2 = await builder.Build(result, PlayoutBuildMode.Continue, start2, finish2); |
|
|
|
Playout result2 = await builder.Build( |
|
|
|
|
|
|
|
result, |
|
|
|
|
|
|
|
PlayoutBuildMode.Continue, |
|
|
|
|
|
|
|
start2, |
|
|
|
|
|
|
|
finish2, |
|
|
|
|
|
|
|
_cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
PlayoutProgramScheduleAnchor continueAnchor = |
|
|
|
PlayoutProgramScheduleAnchor continueAnchor = |
|
|
|
result2.ProgramScheduleAnchors |
|
|
|
result2.ProgramScheduleAnchors |
|
|
|
@ -2554,7 +2607,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(32); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(32); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Continue, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Continue, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(5); |
|
|
|
result.Items.Count.Should().Be(5); |
|
|
|
|
|
|
|
|
|
|
|
@ -2666,7 +2719,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(5); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(5); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Continue, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Continue, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(4); |
|
|
|
result.Items.Count.Should().Be(4); |
|
|
|
|
|
|
|
|
|
|
|
@ -2778,7 +2831,7 @@ public class PlayoutBuilderTests |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset start = HoursAfterMidnight(0); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(5); |
|
|
|
DateTimeOffset finish = start + TimeSpan.FromHours(5); |
|
|
|
|
|
|
|
|
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Continue, start, finish); |
|
|
|
Playout result = await builder.Build(playout, PlayoutBuildMode.Continue, start, finish, _cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
result.Items.Count.Should().Be(4); |
|
|
|
result.Items.Count.Should().Be(4); |
|
|
|
|
|
|
|
|
|
|
|
|