logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class BootTaskCanonicalOrderTests

    EditMode tests for Serenity.CreateGame.Infrastructure.Editor.BootTaskCanonicalOrder: read-only checks against the real shipped task assets and profiles — no asset is created, modified or deleted.

    Inheritance
    object
    BootTaskCanonicalOrderTests
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.CreateGame.Tests.Editor
    Assembly: Serenity.CreateGame.Tests.Editor.dll
    Syntax
    public class BootTaskCanonicalOrderTests

    Constructors

    BootTaskCanonicalOrderTests()

    Declaration
    public BootTaskCanonicalOrderTests()

    Methods

    EveryNonBootstrapInstallableSystem_HasACanonicalSlot()

    Regression test for the gap BootTaskCanonicalOrderTests.TaskAssetNames_EveryShippedTaskAssetHasASlot could not catch: Logging ships no task asset under Serenity.CreateGame.Tests.Editor.BootTaskCanonicalOrderTests.ShippedTasksFolder at all, so an attributed system without a shipped asset could go missing from the template unnoticed. A task asset's file name always equals its Install* method name (Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskAuthoring.ShippedSignatureFor's naming convention), so every non-bootstrap system's own InstallMethodName IS the name a slot must exist for.

    Declaration
    public void EveryNonBootstrapInstallableSystem_HasACanonicalSlot()

    TaskAssetNames_EveryShippedTaskAssetHasASlot()

    Declaration
    public void TaskAssetNames_EveryShippedTaskAssetHasASlot()

    TaskAssetNames_GameSessionInstallsAfterTimer()

    Declaration
    public void TaskAssetNames_GameSessionInstallsAfterTimer()

    TaskAssetNames_HasNoDuplicates()

    Declaration
    public void TaskAssetNames_HasNoDuplicates()

    TaskAssetNames_MainProfilesOrderIsASubsequenceOfTheTemplate()

    Declaration
    public void TaskAssetNames_MainProfilesOrderIsASubsequenceOfTheTemplate()

    TaskAssetNames_MusicPlayersInstallsAfterAudioPlayers()

    Declaration
    public void TaskAssetNames_MusicPlayersInstallsAfterAudioPlayers()

    TaskAssetNames_NoCutscenesProfilesOrderIsASubsequenceOfTheTemplate()

    Declaration
    public void TaskAssetNames_NoCutscenesProfilesOrderIsASubsequenceOfTheTemplate()

    TaskAssetNames_SplashScreenPlaysAfterCutscenePlayerInstalls()

    Declaration
    public void TaskAssetNames_SplashScreenPlaysAfterCutscenePlayerInstalls()

    TaskAssetNames_TheSeedProfileCarriesEveryTaskTheRequirementTableNames()

    The requirement table only earns its keep while the seed profile actually carries the tasks it names — a splash task the seed never lists could not be gated by a selection, and the Complete action would have nothing shipped to adopt for an existing project.

    Declaration
    public void TaskAssetNames_TheSeedProfileCarriesEveryTaskTheRequirementTableNames()

    TaskAssetNames_WaveInstallsAfterCharacter()

    Declaration
    public void TaskAssetNames_WaveInstallsAfterCharacter()

    TaskAssetNames_WrapServicesInstallsAfterEveryInstallEntry()

    Declaration
    public void TaskAssetNames_WrapServicesInstallsAfterEveryInstallEntry()
    In this article
    © 2026 Serenity. All Rights Reserved