Namespace Serenity.Global.Infrastructure.Tests.Editor.InitializationPipeline
Classes
InstallOrderPlacementTests
EditMode tests for Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallOrderPlacement: a pure rule over positions, no assets or Unity APIs involved.
InstallOrderRelationshipTests
EditMode tests for Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallOrderRelationship: a pure value object, no assets or Unity APIs involved.
InstallTaskAuthoringTests
EditMode tests for Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskAuthoring: task asset creation, profile insertion/removal
and duplicate-task detection. Every mutation happens against a temp folder and scratch
UnityInitializationPipelineProfile assets created via ScriptableObject.CreateInstance
— the project's real profile assets are never touched. Mirrors the temp-folder SetUp/TearDown pattern of
AsmdefReferenceWriterTests and GameSaveCreatorTests.
InstallTaskSectionGuiTests
EditMode tests for Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskSectionGui's non-GUI surface: Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskSectionGui.PrepareSelections's idempotent lazy-load guard, Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskSectionGui.TryEnsurePendingTask(System.Action{System.String},System.Boolean)'s "wires with defaults even when the host never drew the Installation step" contract plus its own once-per-run guard, and the section counting only project-owned profiles (Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskAuthoring.FindProjectOwnedProfiles) as candidates to wire into.
InstallTaskSignatureTests
EditMode tests for which boot-task shapes count as "the task that installs this module": Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskSignature itself, and the Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskAuthoring lookups that take a set of them.
PendingWiringSentenceFormatterTests
EditMode tests for Serenity.Global.Infrastructure.Editor.InitializationPipeline.PendingWiringSentenceFormatter's reordering clause — the half of the recap that tells a reader the primary action is about to MOVE a task some profile already carries, not only insert one. Pure formatting, no assets involved.
PipelineSuppliedParameterShapeTests
What the inspector can know about which parameters the pipeline supplies without a running pipeline: a value an author can type, or an asset an author can pick, is an argument; a type only the pipeline's own services can produce is supplied.
ReflectionCallArgumentRoundTripTests
What an author types into the inspector's rows is what the real Reflection Call Task binds when it runs: the arguments are authored through Serenity.InitializationPipeline.Infrastructure.Settings.Editor.ReflectionCallArgumentRows, stored on a definition, and the task built from that definition is run against a method whose parameters mix string arguments with the ones the pipeline supplies.
ReflectionCallArgumentRoundTripTests.FixedRoundTripClock
ReflectionCallArgumentRoundTripTests.RoundTripTargets
ReflectionCallArgumentRowsTests
The inspector's row model: one row per parameter of the selected method, where a row that takes a stored argument edits the slot the runtime binds to that parameter, never the slot its position in the parameter list happens to suggest.
ReflectionCallTaskAssetBuilderTests
EditMode tests for Serenity.Global.Infrastructure.Editor.InitializationPipeline.ReflectionCallTaskAssetBuilder: the asset it creates must store the target method's real parameter signature at creation time. A task whose stored signature does not match its target method's real parameters gets invisibly rewritten the first time anything (a test, an inspector selection) opens its editor — see UnityReflectionCallTaskDefinitionEditorTests for that repair behavior; this suite proves a builder-created task never needs it.
ShippedReflectionCallTaskSignatureTests
Keeps every shipped UnityReflectionCallTaskDefinition asset under
Assets/Serenity/Media honest: its stored method name and parameter-type signature must already
match the real method it names, so opening it through
UnityReflectionCallTaskDefinitionEditor
— an inline preview, the Inspector selecting it, a headless test creating an editor for it — is a
no-op. Regression coverage for 22 shipped tasks (Leaderboard among them) shipping with a stale, empty
methodParamTypes despite their real method taking parameters; every editor creation silently
re-serialized the asset the first time some test happened to inspect it.
UnityReflectionCallTaskDefinitionEditorArgumentTests
Drawing the Reflection Call Task inspector over a task whose stored arguments do not match its method reports the difference and leaves the task exactly as it was: only the author's explicit action rewrites the list.
UnityReflectionCallTaskDefinitionEditorArgumentTests.Targets
UnityReflectionCallTaskDefinitionEditorTests
EditMode tests for UnityReflectionCallTaskDefinitionEditor's OnEnable self-heal:
regression coverage for a real defect where a shipped task asset carrying a stale (empty)
methodParamTypes got silently re-serialized every time ANY headless test run happened to
create an editor for it — merely inspecting an asset must never write to it, but a genuinely stale
stored signature must still be repaired.