diff --git a/Aetheria.State.Verify/Program.cs b/Aetheria.State.Verify/Program.cs index 7ed9bef02..5824984b0 100644 --- a/Aetheria.State.Verify/Program.cs +++ b/Aetheria.State.Verify/Program.cs @@ -14911,6 +14911,10 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root) var observedDaemonState = File.Exists(observedDaemonStatePath) ? File.ReadAllText(observedDaemonStatePath) : throw new InvalidOperationException("Cannot verify daemon state acquisition; AetheriaRuntimeObservedDaemonState.cs is missing."); + var daemonRuntimeDocumentTestsPath = Path.Combine(root, "Assets", "Scripts", "Tests", "DaemonRuntimeDocumentTests.cs"); + var daemonRuntimeDocumentTests = File.Exists(daemonRuntimeDocumentTestsPath) + ? File.ReadAllText(daemonRuntimeDocumentTestsPath) + : throw new InvalidOperationException("Cannot verify daemon state acquisition; DaemonRuntimeDocumentTests.cs is missing."); var requiredActionGameManagerSymbols = new[] { @@ -15152,6 +15156,13 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root) string.Join(", ", missingManagedObservedDaemonSymbols)); } + if (!daemonRuntimeDocumentTests.Contains("ManagedStateSamplesCurrentObservedDaemonFromReactiveDocuments()", StringComparison.Ordinal) || + !daemonRuntimeDocumentTests.Contains("var observed = client.State.CurrentObservedDaemon();", StringComparison.Ordinal)) + { + throw new InvalidOperationException( + "Daemon runtime document tests must teach current observed daemon sampling through AetheriaClientState.CurrentObservedDaemon()."); + } + var requiredObservedDaemonStateSymbols = new[] { "AetheriaRuntimeDaemonSoaViewIndex.Build(soaView)", diff --git a/Assets/Scripts/Tests/DaemonRuntimeDocumentTests.cs b/Assets/Scripts/Tests/DaemonRuntimeDocumentTests.cs index f6a40a467..df2858637 100644 --- a/Assets/Scripts/Tests/DaemonRuntimeDocumentTests.cs +++ b/Assets/Scripts/Tests/DaemonRuntimeDocumentTests.cs @@ -2179,7 +2179,7 @@ public class DaemonRuntimeDocumentTests } [Test] - public void ObservedDaemonStateComposesManagedReactiveFrameSoaAndZoneRenderDocuments() + public void ManagedStateSamplesCurrentObservedDaemonFromReactiveDocuments() { var statePath = Path.Combine( Path.GetTempPath(), @@ -2213,15 +2213,7 @@ public class DaemonRuntimeDocumentTests .OpenAsync(statePath, "unity-reactive-observer-test", pullOnOpen: true) .GetAwaiter() .GetResult(); - using var frameDocument = client.State.ReactiveDaemonFrame(); - using var soaDocument = client.State.ReactiveDaemonSoaView(); - using var zoneRenderDocument = client.State.ReactiveZoneRender(); - - Assert.IsTrue(AetheriaRuntimeObservedDaemonState.TryCreateCurrent( - frameDocument, - soaDocument, - zoneRenderDocument, - out var observed)); + var observed = client.State.CurrentObservedDaemon(); Assert.IsNotNull(observed); Assert.IsTrue(observed.IsAuthoritative); Assert.AreEqual("reactive-daemon-run", observed.Run.RunId);