feat: migrate legacy playout workflow and scenes

This commit is contained in:
2026-07-10 23:58:45 +09:00
parent 491a740505
commit 8dae7b8e0d
128 changed files with 39177 additions and 205 deletions

View File

@@ -39,6 +39,7 @@ public sealed class DryRunPlayoutEngineTests
await engine.PrepareAsync(cue, CancellationToken.None),
await engine.TakeInAsync(CancellationToken.None),
await engine.NextAsync(cue, CancellationToken.None),
await engine.UpdateOnAirAsync(cue, CancellationToken.None),
await engine.TakeOutAsync(
PlayoutTakeOutScope.All,
CancellationToken.None),
@@ -72,6 +73,12 @@ public sealed class DryRunPlayoutEngineTests
Assert.Null(engine.Status.PreparedSceneName);
Assert.Equal("first-scene", engine.Status.OnAirSceneName);
var update = await engine.UpdateOnAirAsync(
Cue("first-scene"),
CancellationToken.None);
Assert.Null(engine.Status.PreparedSceneName);
Assert.Equal("first-scene", engine.Status.OnAirSceneName);
var next = await engine.NextAsync(
Cue("next-scene"),
CancellationToken.None);
@@ -86,12 +93,12 @@ public sealed class DryRunPlayoutEngineTests
var disconnect = await engine.DisconnectAsync(CancellationToken.None);
Assert.All(
new[] { connect, prepare, takeIn, next, takeOut, disconnect },
new[] { connect, prepare, takeIn, update, next, takeOut, disconnect },
result => Assert.Equal(PlayoutResultCode.Success, result.Code));
Assert.All(
new[] { connect, prepare, takeIn, next, takeOut, disconnect },
new[] { connect, prepare, takeIn, update, next, takeOut, disconnect },
result => Assert.True(result.IsDryRun));
Assert.Equal(6, statuses.Count);
Assert.Equal(7, statuses.Count);
Assert.True(statuses.Zip(statuses.Skip(1), (left, right) => left.Sequence < right.Sequence).All(x => x));
Assert.All(statuses, status => Assert.Equal(PlayoutConnectionState.DryRunReady, status.State));
}