logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class 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.

    Inheritance
    object
    MenuDefinitionScannerTests
    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.Application
    Assembly: Tests.dll
    Syntax
    public class MenuDefinitionScannerTests

    Constructors

    MenuDefinitionScannerTests()

    Declaration
    public MenuDefinitionScannerTests()

    Methods

    Scan_DuplicateOptionIds_ReportsOneOptionsError()

    Declaration
    public void Scan_DuplicateOptionIds_ReportsOneOptionsError()

    Scan_EmptyId_ReportsIdentityError()

    Declaration
    public void Scan_EmptyId_ReportsIdentityError()

    Scan_ExplicitWidthModeWithPositiveWidth_ReportsNoLayoutError()

    Declaration
    public void Scan_ExplicitWidthModeWithPositiveWidth_ReportsNoLayoutError()

    Scan_ExplicitWidthModeWithZeroWidth_ReportsLayoutError()

    Declaration
    public void Scan_ExplicitWidthModeWithZeroWidth_ReportsLayoutError()

    Scan_IdNotTaken_ReportsNoIdentityError()

    Declaration
    public void Scan_IdNotTaken_ReportsNoIdentityError()

    Scan_IdTaken_ReportsIdentityError()

    Declaration
    public void Scan_IdTaken_ReportsIdentityError()

    Scan_LabelShownAsTyped_IsNeverLookedUp()

    Declaration
    public void Scan_LabelShownAsTyped_IsNeverLookedUp()

    Scan_NegativeOptionsGap_ReportsLayoutWarning()

    Declaration
    public void Scan_NegativeOptionsGap_ReportsLayoutWarning()

    Scan_NoOptions_ReportsContentWarning()

    Declaration
    public void Scan_NoOptions_ReportsContentWarning()

    Scan_NullMenu_ReportsOneAssetError()

    Declaration
    public void Scan_NullMenu_ReportsOneAssetError()

    Scan_NullOptionsArray_ReportsContentWarning()

    Declaration
    public void Scan_NullOptionsArray_ReportsContentWarning()

    Scan_OptionWithEmptyId_ReportsOptionsError()

    Declaration
    public void Scan_OptionWithEmptyId_ReportsOptionsError()

    Scan_OptionWithEmptyLabel_ReportsOptionsError()

    Declaration
    public void Scan_OptionWithEmptyLabel_ReportsOptionsError()

    Scan_ScrollableWithNoVisibleCount_ReportsLayoutError()

    Declaration
    public void Scan_ScrollableWithNoVisibleCount_ReportsLayoutError()

    Scan_ScrollableWithPositiveVisibleCount_ReportsNoLayoutError()

    Declaration
    public void Scan_ScrollableWithPositiveVisibleCount_ReportsNoLayoutError()

    Scan_TransitionToACompositeChildPath_ReportsNoOptionsError()

    Declaration
    public void Scan_TransitionToACompositeChildPath_ReportsNoOptionsError()

    Scan_TransitionToAHostedInstancePath_ReportsNoOptionsError()

    A menu hosted inside a composite is routed by the id the installation step mints for that instance, which is a legal target no scan of menu ids can list.

    Declaration
    public void Scan_TransitionToAHostedInstancePath_ReportsNoOptionsError()

    Scan_TransitionToAKnownTarget_ReportsNoOptionsError()

    Declaration
    public void Scan_TransitionToAKnownTarget_ReportsNoOptionsError()

    Scan_TransitionToAnUnknownTarget_ReportsOptionsError()

    Declaration
    public void Scan_TransitionToAnUnknownTarget_ReportsOptionsError()

    Scan_TransitionToGoBack_ReportsNoOptionsError()

    Declaration
    public void Scan_TransitionToGoBack_ReportsNoOptionsError()

    Scan_TransitionWithNoTarget_ReportsOptionsWarningAndNoError()

    A row the author just switched to TRANSITION has no target yet, and an empty target is a legitimate signal-only option at runtime — a nudge, never a blocker.

    Declaration
    public void Scan_TransitionWithNoTarget_ReportsOptionsWarningAndNoError()

    Scan_TranslatingLabelAStringTableHas_ReportsNothing()

    Declaration
    public void Scan_TranslatingLabelAStringTableHas_ReportsNothing()

    Scan_TranslatingLabelNoStringTableHas_WarnsOnThatOption()

    Declaration
    public void Scan_TranslatingLabelNoStringTableHas_WarnsOnThatOption()

    Scan_WellFormedMenu_ReportsNothing()

    Declaration
    public void Scan_WellFormedMenu_ReportsNothing()

    Scan_WithoutATranslationLookup_ReportsNothingAboutTranslation()

    Declaration
    public void Scan_WithoutATranslationLookup_ReportsNothingAboutTranslation()

    Scan_WithoutKnownTargets_ReportsNothingAboutTransitions()

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