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.
Inherited Members
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_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_WrapServicesInstallsAfterEveryInstallEntry()
Declaration
public void TaskAssetNames_WrapServicesInstallsAfterEveryInstallEntry()