logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Namespace Serenity.Migration.Tests.Editor

    Classes

    AsmdefRefRewriterTests

    Tests for Serenity.Global.Infrastructure.Editor.Migration.Core.AsmdefRefRewriter: dead-GUID removal, replacement added only when the asmdef's sources actually use the moved types, unrelated references untouched, output stays valid JSON.

    InstallTaskTargetRuleTests

    Guards for the report-only rule that flags a consumer's initialization task assets still pointing at UnitySerenityInstaller. Those assets keep working through the compatibility shims, so the rule must never rewrite one — it only tells the author where the work moved.

    InterfaceStubGeneratorTests

    Tests for Serenity.Global.Infrastructure.Editor.Migration.Core.InterfaceStubGenerator: multi-interface base lists, partial classes (cross-file member lookup), no duplicate stubs for already-implemented members, marker text, throwing void members, property members (fixed expression body, no TODO marker), mixed method+property member lists, and using injection.

    MigrationLineScannerTests

    Tests for Serenity.Global.Infrastructure.Editor.Migration.Core.MigrationLineScanner: comments and string/char literals must be invisible to the migration regexes, and the masked text must stay index-compatible with the original.

    ProceduralActionSignatureRewriterTests

    Tests for Serenity.Global.Infrastructure.Editor.Migration.Core.ProceduralActionSignatureRewriter: all four lifecycle methods gain the runtime parameter, Tick keeps the ref PoseDelta parameter LAST, non-subclasses are ignored, unexpected shapes downgrade to report-only, and the rewrite is idempotent.

    SerenityMigrationCatalogTests

    Tests for Serenity.Global.Infrastructure.Editor.Migration.Core.SerenityMigrationCatalog: the chain invariant that every rule id stays unique across every version's rule set, since the engine and the window key selection by rule id.

    SerenityMigrationEngineTests

    Full-engine tests over the real catalog: a representative 1.1.x consumer project is scanned and fixed, report-only findings never produce edits, selection filters edits, the JSON report is well-formed — and the idempotency meta-test: applying the engine twice yields zero edits on the second pass.

    SerenityMigrationFileProviderTests

    EditMode integration tests for Serenity.Global.Infrastructure.Editor.Migration.SerenityMigrationFileProvider: the scan scope must be consumer code only — everything under Assets/ EXCEPT Assets/Serenity/ and Packages/, and only .cs/.asmdef files. Uses fixture files from the non-imported Fixtures~ folder, copied into a temp project layout.

    TextReplaceRewriterTests

    Golden triples for the member-rename and detection rules (SetDefinitions, UiInputRouter, GetAudioMixer and the object-retyped surfaces).

    UsingRewriterTests

    Golden before/after triples for the namespace rewriters: applies cleanly, ambiguous downgrades to report-only, and already-migrated code is a NoMatch (idempotency).

    In this article
    © 2026 Serenity. All Rights Reserved