logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class MenuDraftTransitionTargetsTests

    EditMode tests for Serenity.Menu.Infrastructure.Editor.Builder.MenuDraftTransitionTargets.Merge(System.Collections.Generic.IReadOnlyList{Serenity.Menu.Infrastructure.Settings.Editor.MenuTransitionTargetCandidate},System.Collections.Generic.IReadOnlyList{Serenity.Menu.Infrastructure.Editor.Builder.MenuDraft},Serenity.Menu.Infrastructure.Editor.Builder.MenuDraft), the rule deciding what a Menu Manager draft's TRANSITION option may target. Driven with a hand-built project list rather than MenuTransitionTargetCatalog, so the assertions describe the rule instead of whatever assets the test project happens to hold.

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

    Constructors

    MenuDraftTransitionTargetsTests()

    Declaration
    public MenuDraftTransitionTargetsTests()

    Methods

    Merge_DraftLoadedFromAGuidlessAsset_StillReplacesTheProjectEntry()

    A menu asset saved with no guid of its own is listed by its id (see KeyFor(UnityMenuSettingsDefinition)), while FromExisting(UnityMenuSettingsDefinition) seeds the scratch copy a guid — so the draft's key and its asset's key differ, and only claiming both keeps the same menu from being offered twice.

    Declaration
    public void Merge_DraftLoadedFromAGuidlessAsset_StillReplacesTheProjectEntry()

    Merge_DraftLoadedFromDisk_ReplacesTheProjectEntryWithTheSameKey()

    Declaration
    public void Merge_DraftLoadedFromDisk_ReplacesTheProjectEntryWithTheSameKey()

    Merge_EditedDraftLoadedFromDisk_DoesNotOfferItsOwnProjectEntry()

    The menu being edited is no target for itself: claiming the key of the asset it was loaded from is what keeps that asset's own project entry out of the dropdown the author is looking at.

    Declaration
    public void Merge_EditedDraftLoadedFromDisk_DoesNotOfferItsOwnProjectEntry()

    Merge_ExcludesTheEditedDraft()

    Declaration
    public void Merge_ExcludesTheEditedDraft()

    Merge_KeysADraftByItsGuidSoTheIdCanStillChange()

    Declaration
    public void Merge_KeysADraftByItsGuidSoTheIdCanStillChange()

    Merge_LabelsADraftThatWillCreateANewAssetAsNew()

    Declaration
    public void Merge_LabelsADraftThatWillCreateANewAssetAsNew()

    Merge_NeverProducesALabelCarryingAPathSeparator()

    A hosted-instance target embeds '/' in its id, which Unity's popup would otherwise split into an unreachable submenu tree.

    Declaration
    public void Merge_NeverProducesALabelCarryingAPathSeparator()

    Merge_OrdersGoBackThenDraftsThenProjectTargets()

    Declaration
    public void Merge_OrdersGoBackThenDraftsThenProjectTargets()

    Merge_SkipsADraftWithNoGuid()

    Declaration
    public void Merge_SkipsADraftWithNoGuid()

    Merge_SkipsADraftWithNoIdYet()

    Declaration
    public void Merge_SkipsADraftWithNoIdYet()

    TearDown()

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