logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class SingletonSettingsCreationEngineTests

    EditMode tests for SingletonSettingsCreationEngine<TSettings, TInput, TResult>, driven through a scratch subclass. Built on real assets under a private temp folder wiped in TearDown(), because the contract is about what lands on disk, what the Addressables settings end up holding, and what a rollback puts back — none of which survives an in-memory double. Only the registration test opts into Addressables, and it removes the entry it created.

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

    Constructors

    SingletonSettingsCreationEngineTests()

    Declaration
    public SingletonSettingsCreationEngineTests()

    Methods

    ApplyFieldsToExisting_Overridden_IsUsedOnlyByTheUpdatePathNotByCreate()

    Declaration
    public void ApplyFieldsToExisting_Overridden_IsUsedOnlyByTheUpdatePathNotByCreate()

    Create_ExistingPath_UpdatesInPlaceAndReportsWasUpdate()

    Declaration
    public void Create_ExistingPath_UpdatesInPlaceAndReportsWasUpdate()

    Create_ExtraAssetsThrow_RollsBackTheCreatedAssetAndRestoresTheEditedOne()

    Declaration
    public void Create_ExtraAssetsThrow_RollsBackTheCreatedAssetAndRestoresTheEditedOne()

    Create_New_RegistersTheCreatedAssetUnderTheModuleLabel()

    Declaration
    public void Create_New_RegistersTheCreatedAssetUnderTheModuleLabel()

    Create_New_WritesTheAssetWithItsIdGuidAndFields()

    Declaration
    public void Create_New_WritesTheAssetWithItsIdGuidAndFields()

    OneTimeSetUp()

    Declaration
    public void OneTimeSetUp()

    OneTimeTearDown()

    Declaration
    public void OneTimeTearDown()

    SetUp()

    Declaration
    public void SetUp()

    TearDown()

    Declaration
    public void TearDown()

    UpdateExistingInPlace_ApplyFieldsThrows_RestoresTheAssetsFieldsAndId()

    Mirrors Create_ExtraAssetsThrow_RollsBackTheCreatedAssetAndRestoresTheEditedOne() for the update path: ApplyFields is a subclass's code too, and a subclass that throws halfway through it must leave the edited asset exactly as it stood before the call — both the fields ApplyFields half-wrote and the Id the engine had already written ahead of it.

    Declaration
    public void UpdateExistingInPlace_ApplyFieldsThrows_RestoresTheAssetsFieldsAndId()

    UpdateExistingInPlace_NoOverride_ForwardsToApplyFields()

    Declaration
    public void UpdateExistingInPlace_NoOverride_ForwardsToApplyFields()

    UpdateExistingInPlace_SkipsValidationAndStillReportsWasUpdate()

    Declaration
    public void UpdateExistingInPlace_SkipsValidationAndStillReportsWasUpdate()

    ValidateIdentity_BlankAssetNameWhileUpdating_ReportsNothing()

    An update names the asset it edits, so the asset-name field is not part of that request and an empty one must not block it.

    Declaration
    public void ValidateIdentity_BlankAssetNameWhileUpdating_ReportsNothing()

    ValidateIdentity_BlankAssetName_ReportsTheAssetNameRule()

    Declaration
    public void ValidateIdentity_BlankAssetName_ReportsTheAssetNameRule()

    ValidateIdentity_BlankId_ReportsTheIdRule()

    Declaration
    public void ValidateIdentity_BlankId_ReportsTheIdRule()

    ValidateIdentity_NeverInvokesValidateBeyondIdentity()

    Declaration
    public void ValidateIdentity_NeverInvokesValidateBeyondIdentity()

    Validate_ExistingPathWithNothingThere_ReportsThatNoAssetWasFound()

    Declaration
    public void Validate_ExistingPathWithNothingThere_ReportsThatNoAssetWasFound()

    Validate_IdentityInvalid_SkipsValidateBeyondIdentity()

    Declaration
    public void Validate_IdentityInvalid_SkipsValidateBeyondIdentity()

    Validate_IdentityValid_InvokesValidateBeyondIdentityOnce()

    Declaration
    public void Validate_IdentityValid_InvokesValidateBeyondIdentityOnce()

    Validate_NoInput_ReportsTheMissingInputError()

    Declaration
    public void Validate_NoInput_ReportsTheMissingInputError()

    Validate_OutputFolderOutsideAssets_ReportsTheFolderError()

    Declaration
    public void Validate_OutputFolderOutsideAssets_ReportsTheFolderError()

    Validate_TargetPathAlreadyOccupied_ReportsTheCollision()

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