namespace MBN_STOCK_WEBVIEW.LegacyWeb.Tests; public sealed class LegacyPlayoutWebContractTests { private static readonly string RepositoryRoot = FindRepositoryRoot(); private static readonly string WebRoot = Path.Combine( RepositoryRoot, "src", "MBN_STOCK_WEBVIEW.LegacyParityApp", "Web"); private static readonly string Markup = File.ReadAllText( Path.Combine(WebRoot, "index.html")); private static readonly string Script = File.ReadAllText( Path.Combine(WebRoot, "playout-ui.js")); [Fact] public void ShellExposesOriginalPlayoutBackgroundAndFadeControls() { foreach (var id in new[] { "playout-connection-state", "playout-background-none", "playout-background-file", "playout-background-name", "playout-fade-duration", "playout-prepare", "playout-take-in", "playout-next", "playout-take-out", "playout-status" }) { Assert.Contains($"id=\"{id}\"", Markup, StringComparison.Ordinal); } Assert.Contains("PREPARE", Markup, StringComparison.Ordinal); Assert.Contains("TAKE IN", Markup, StringComparison.Ordinal); Assert.Contains("NEXT", Markup, StringComparison.Ordinal); Assert.Contains("TAKE OUT", Markup, StringComparison.Ordinal); var fadeMarkup = ExtractElement(Markup, "playout-fade-duration", ""); Assert.Equal(20, CountOccurrences(fadeMarkup, "