logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class 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.

    Inheritance
    object
    InstallTaskSignatureTests
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.Global.Infrastructure.Tests.Editor.InitializationPipeline
    Assembly: Serenity.InitializationPipeline.Tests.Editor.dll
    Syntax
    public class InstallTaskSignatureTests
    Remarks

    Its own file rather than more of InstallTaskAuthoringTests, which already covers asset creation, profile insertion and removal: what is under test here is the matching rule, and it earned a suite the day it turned out to have been answering the wrong question.

    Most of the install tasks Serenity ships call Install on a per-module installation step (UnityAchievementsInstallationStep.Install), not a named method on the UnitySerenityInstaller facade. A lookup that knew only the facade shape reported "nothing installs this module" about a project whose shipped profile installs it, so both shapes are pinned here against fixtures built to look exactly like the real assets.

    Constructors

    InstallTaskSignatureTests()

    Declaration
    public InstallTaskSignatureTests()

    Methods

    FindExistingInstallTask_ModuleInstallationStepShape_IsFoundBySignatures()

    Declaration
    public void FindExistingInstallTask_ModuleInstallationStepShape_IsFoundBySignatures()

    FindExistingInstallTask_NoSignatures_FindsNothingWithEmptyAllPaths()

    Declaration
    public void FindExistingInstallTask_NoSignatures_FindsNothingWithEmptyAllPaths()

    IndexOfInstallTask_SignatureOverload_ReturnsTheFirstMatchingPosition()

    Declaration
    public void IndexOfInstallTask_SignatureOverload_ReturnsTheFirstMatchingPosition()

    Matches_IsFalseWhenEitherHalfIsBlankOrTheTaskIsMissing()

    Declaration
    public void Matches_IsFalseWhenEitherHalfIsBlankOrTheTaskIsMissing()

    OnAModuleInstallationStep_AlwaysAsksForTheStepsOwnInstallMethod()

    Declaration
    public void OnAModuleInstallationStep_AlwaysAsksForTheStepsOwnInstallMethod()

    OneTimeTearDown()

    Declaration
    public void OneTimeTearDown()

    ProfileContainsInstallTask_AnotherModulesStepTask_IsNotMatched()

    Declaration
    public void ProfileContainsInstallTask_AnotherModulesStepTask_IsNotMatched()

    ProfileContainsInstallTask_LegacyInstallerShape_IsStillMatchedBySignatures()

    Declaration
    public void ProfileContainsInstallTask_LegacyInstallerShape_IsStillMatchedBySignatures()

    ProfileContainsInstallTask_ModuleInstallationStepShape_IsMatchedBySignatures()

    Declaration
    public void ProfileContainsInstallTask_ModuleInstallationStepShape_IsMatchedBySignatures()

    ProfileContainsInstallTask_ModuleInstallationStepShape_IsNowMatchedByTheMethodNameAlone()

    The regression Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskAuthoring.SignaturesForInstallerMethod(System.String)'s shipped-signature derivation fixes: the bare method-name overload used to answer false about the shipped step shape, which made a correctly wired project look unwired. It now reads the real shipped InstallAchievements.asset and recognizes this exact shape off it.

    Declaration
    public void ProfileContainsInstallTask_ModuleInstallationStepShape_IsNowMatchedByTheMethodNameAlone()

    ProfileContainsInstallTask_NullOrEmptySignatures_IsFalse()

    Declaration
    public void ProfileContainsInstallTask_NullOrEmptySignatures_IsFalse()

    ProfileContainsInstallTask_RightTypeWrongMethod_IsNotMatched()

    Declaration
    public void ProfileContainsInstallTask_RightTypeWrongMethod_IsNotMatched()

    SetUp()

    Declaration
    public void SetUp()

    SignaturesForInstallerMethod_FacadeShapedShippedAsset_StillMatchesItsOwnAsset()

    The regression case for a module whose shipped task is facade-shaped rather than step-shaped: deriving a second signature off it must never stop the module from still recognizing its own asset.

    Declaration
    public void SignaturesForInstallerMethod_FacadeShapedShippedAsset_StillMatchesItsOwnAsset()

    SignaturesForInstallerMethod_MethodWithAShippedStepShapedAsset_AlsoDescribesTheShippedShape()

    Pinned against the real shipped InstallModal.asset — read-only, never created by this test — so the derivation is proven against the actual convention it relies on, not a fixture standing in for it.

    Declaration
    public void SignaturesForInstallerMethod_MethodWithAShippedStepShapedAsset_AlsoDescribesTheShippedShape()

    SignaturesForInstallerMethod_NoShippedAssetForTheMethod_DescribesTheFacadeShapeOnly()

    Declaration
    public void SignaturesForInstallerMethod_NoShippedAssetForTheMethod_DescribesTheFacadeShapeOnly()

    TearDown()

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