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.
Inherited Members
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()