logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class MenuTransitionTargetCatalogProjectionTests

    EditMode tests for MenusById(), NonMenuViewIds(), Serenity.Menu.Infrastructure.Settings.Editor.MenuTransitionTargetCatalog.ViewKindsById and Serenity.Menu.Infrastructure.Settings.Editor.MenuTransitionTargetCatalog.OutboundEdgesById: all ride the catalog's own session-cached, Addressables-label-based project scan (see MenuTransitionTargetCatalog's own remarks).

    Inheritance
    object
    MenuTransitionTargetCatalogProjectionTests
    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 MenuTransitionTargetCatalogProjectionTests
    Remarks

    Every projection is exercised against a freshly written, freshly Addressables-registered fixture — the MENU, COMPOSITE_VIEW, LEADERBOARD and ACHIEVEMENTS labels are all on AddressablesManagedLabelNormalizer.ManagedLabels, so an asset registered through SerenityAssetCreationTransaction mid-session is genuinely visible to the Addressables-label scan by the time Refresh() runs.

    Constructors

    MenuTransitionTargetCatalogProjectionTests()

    Declaration
    public MenuTransitionTargetCatalogProjectionTests()

    Methods

    KnownTargetIdsAndProjectTargets_ContainAFreshlyRegisteredLeaderboardAndAchievementsView()

    Declaration
    public void KnownTargetIdsAndProjectTargets_ContainAFreshlyRegisteredLeaderboardAndAchievementsView()

    MenusById_AfterRefresh_ContainsAFreshlyRegisteredMenu()

    Declaration
    public void MenusById_AfterRefresh_ContainsAFreshlyRegisteredMenu()

    MenusById_ReturnsTheSameInstanceUntilRefresh()

    Declaration
    public void MenusById_ReturnsTheSameInstanceUntilRefresh()

    MenusById_ViewKindsById_ViewDefinitionsById_RegisterAHostedMenuThatIsNotAddressableLabeled()

    Regression test: a composite's hosted menus are real UnityMenuSettingsDefinition assets that are deliberately never Addressable-labeled — they are addressed through the composite's own child references at runtime, not a project-wide label scan. Before this fix, the scan could not see them at all, so the walker could never type them as menus and they could never become drafts; they must resolve exactly like a labeled menu everywhere the catalog is read.

    Declaration
    public void MenusById_ViewKindsById_ViewDefinitionsById_RegisterAHostedMenuThatIsNotAddressableLabeled()

    NonMenuViewIds_ContainsAFreshlyRegisteredComposite()

    Declaration
    public void NonMenuViewIds_ContainsAFreshlyRegisteredComposite()

    NonMenuViewIds_ReturnsTheSameInstanceUntilRefresh()

    Declaration
    public void NonMenuViewIds_ReturnsTheSameInstanceUntilRefresh()

    OutboundEdgesById_ForALeaderboardView_YieldsExactlyTheReturnEdgeAndTheShowViewEdge()

    Declaration
    public void OutboundEdgesById_ForALeaderboardView_YieldsExactlyTheReturnEdgeAndTheShowViewEdge()

    TearDown()

    Declaration
    public void TearDown()

    ViewDefinitionsById_ForACompositeChildPath_ResolvesToTheHostingComposite()

    Declaration
    public void ViewDefinitionsById_ForACompositeChildPath_ResolvesToTheHostingComposite()

    ViewKindsById_TypesEveryViewKindCorrectly()

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