Class InitializeSerenityWindowDoneStepReloadSafetyTests
Regression coverage for the Initialize Serenity Done step reading data a domain reload would otherwise
silently null. InitializeSerenityCreateStep.WiringResult is a plain, non-serialized field — an
unrelated script compile while the reader is still looking at the Done step (or simply reopening the
window on a later session) drops it exactly the way CreateModalWindowDoneStepReloadSafetyTests
already proved for Modal Builder's own cached result. The fix routes the Done step through the window's
inherited, [SerializeField] Serenity.Global.Infrastructure.Editor.SerenityWizardPrimaryActionOutcome instead
(Serenity.CreateGame.Infrastructure.Editor.InitializeSerenityWindow.SnapshotPrimaryActionOutcomeForTests(Serenity.CreateGame.Infrastructure.Editor.Wiring.ProjectWiringResult) is the test seam onto the
same write path RunCreate uses). Uses the same EditorJsonUtility round-trip technique the
Modal suite uses to simulate the reload without an actual assembly reload.
Inherited Members
Namespace: Serenity.CreateGame.Tests.Editor
Assembly: Serenity.CreateGame.Tests.Editor.dll
Syntax
public class InitializeSerenityWindowDoneStepReloadSafetyTests
Constructors
InitializeSerenityWindowDoneStepReloadSafetyTests()
Declaration
public InitializeSerenityWindowDoneStepReloadSafetyTests()
Methods
DoneStepModel_BuiltFromASurvivedOutcome_ReportsTheProfileAndScenesTruthfully()
Declaration
public void DoneStepModel_BuiltFromASurvivedOutcome_ReportsTheProfileAndScenesTruthfully()
PickedPipelineProfilePath_SurvivesASimulatedDomainReload()
Several profiles is a choice, not a dead end: the Boot pipeline row's own pick must survive a domain reload exactly like the run outcome above, or a reader who resolved an ambiguity would have to pick again every time an unrelated script compile happens to run.
Declaration
public void PickedPipelineProfilePath_SurvivesASimulatedDomainReload()
PrimaryActionOutcome_FailedRun_SurvivesASimulatedDomainReloadAsAFailure()
A failed run must read just as truthfully after a reload as a successful one — the Done step is never reached on failure (the cursor stays on Create), but the outcome itself must not silently flip to "succeeded" merely because the reload dropped the live result.
Declaration
public void PrimaryActionOutcome_FailedRun_SurvivesASimulatedDomainReloadAsAFailure()
PrimaryActionOutcome_SurvivesASimulatedDomainReload()
Declaration
public void PrimaryActionOutcome_SurvivesASimulatedDomainReload()
TearDown()
Declaration
public void TearDown()