logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Namespace Serenity.Menu.Tests.Application

    Classes

    EnsuringMenuTransitionateToViewTests

    Tests for EnsuringMenuTransitionateToView — the lazy-resolution decorator around the menu transition.

    MenuApplicationBehaviorTests

    Behavioral tests for Menu Application types not covered by MenuApplicationTests: DTO ToString formatting, the parameterless submit signal, the aggregator, and the MenuInstanceState enum contract.

    MenuApplicationTests

    Tests for Menu DTOs, use cases, signals, and installer DTO.

    MenuDefinitionScannerTests

    Tests for MenuDefinitionScanner, the one place Create-Menu-wizard authoring rules live. Every rule gets a case that fires it, and Scan_WellFormedMenu_ReportsNothing() proves none of them fire on a clean menu — a scanner that reports a finding on a correct menu is worse than one that reports none, because the author stops reading. Each case also asserts the section, since that value is what a tool uses to open the group of fields at fault.

    MenuLifecycleResolverTests

    Tests for MenuLifecycleResolver effective-mode resolution and classification.

    MenuReachabilityWalkerTests

    Tests for MenuReachabilityWalker, the engine-agnostic breadth-first walk the menu management wizard uses to auto-load every menu reachable from the configuration's main menu. Each case exercises one walk rule in isolation: linear/cyclic/self transitions, the go-back sentinel, the composite-child and hosted-instance qualified targets, unresolved targets, a composite root that hosts menus, an empty root, and null-safety through the option chain.

    RouterMenuTransitionateToViewTests

    Tests for RouterMenuTransitionateToView: it shows the transition target through the top-level IViewRouter (which itself hides the current view), ignoring the source id.

    UiOptionRulesTests

    Tests for ValidateTransitionTarget(string, IReadOnlyCollection<string>, List<string>), the transition half of ValidateOption(UiOption, string, IReadOnlyDictionary<string, GameSettingsValueType>, IReadOnlyDictionary<string, string>, IReadOnlyDictionary<string, string>, IReadOnlyCollection<string>) made public so the menu scanner reports the same rule as an authoring finding instead of restating it. The go-back sentinel, a composite-qualified path, a hosted-instance path and an absent target all resolve to nothing to report; everything else must name a known id.

    In this article
    © 2026 Serenity. All Rights Reserved