Files
MBN_STOCK_WEBVIEW/tests/MBN_STOCK_WEBVIEW.LegacyWeb.Tests/LegacyOverseasAllNationPlayoutContractTests.cs

49 lines
1.9 KiB
C#

namespace MBN_STOCK_WEBVIEW.LegacyWeb.Tests;
public sealed class LegacyOverseasAllNationPlayoutContractTests
{
[Fact]
public void NativeRuntimeKeepsUc5ExactIdentityForOneColumnAndCandleRoutes()
{
var root = FindRepositoryRoot();
var runtime = File.ReadAllText(Path.Combine(root, "LegacySceneRuntimeFactory.cs"));
var resolver = File.ReadAllText(Path.Combine(
root,
"src",
"MBN_STOCK_WEBVIEW.Core",
"Playout",
"Scenes",
"LegacyParameterizedSceneRequestResolver.cs"));
Assert.Contains("parameterizedRequestResolver.CreateS5001Request(entry)", runtime,
StringComparison.Ordinal);
Assert.Contains("[\"5001\", \"N5001\"]", runtime, StringComparison.Ordinal);
Assert.Contains("[\"8035\", \"8061\", \"8040\", \"8046\", \"8051\", \"8056\"]", runtime,
StringComparison.Ordinal);
Assert.Contains("ParseForeignCandleIdentity(selection.DataCode, target)", runtime,
StringComparison.Ordinal);
Assert.Contains("LegacyNamedForeignStockRestoreService.IsCanonicalBoundSymbol(parts[0])", runtime,
StringComparison.Ordinal);
Assert.DoesNotContain("parts[1] is not (\"US\" or \"TW\")", runtime,
StringComparison.Ordinal);
Assert.Contains("new S5001ExactForeignStockLoadRequest(", resolver,
StringComparison.Ordinal);
}
private static string FindRepositoryRoot()
{
var current = new DirectoryInfo(AppContext.BaseDirectory);
while (current is not null)
{
if (File.Exists(Path.Combine(current.FullName, "MBN_STOCK_WEBVIEW.sln")))
{
return current.FullName;
}
current = current.Parent;
}
throw new DirectoryNotFoundException("Repository root was not found.");
}
}