logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Namespace Serenity.UnityMenu.Tests.InterfaceAdapters

    Classes

    UnityMenuPresenterFactoryTests

    Tests for Serenity.Menu.InterfaceAdapters.Presenters.Factories.UnityMenuPresenterFactory: the factory produces an Serenity.Menu.Application.Interfaces.Presenters.IMenuPresenter wired to the supplied view models, and the explicit IUiPresenterFactory overload returns the same presenter type. A null player-input service is used since the produced presenter's menu operations never touch it.

    UnityMenuPresenterTests

    Tests for Serenity.Menu.InterfaceAdapters.Presenters.UnityMenuPresenter: each presenter call must resolve the view model by id and delegate to it, and missing ids must throw. The presenter is driven with real Serenity.Menu.InterfaceAdapters.ViewModels.UnityMenuViewModel instances (the presenter casts to that concrete type) and a null player-input service, which the exercised methods never touch.

    UnityMenuViewModelFactoryTests

    Tests for Serenity.Menu.InterfaceAdapters.ViewModels.Factories.UnityMenuViewModelFactory: it must build a Serenity.Menu.InterfaceAdapters.ViewModels.UnityMenuViewModel keyed on the menu id and seed it with that menu's options from the supplied options map. The factory only reads menu.Id, so a real Serenity.Menu.Infrastructure.Settings.UnityMenuSettingsDefinition ScriptableObject is used as the Serenity.Menu.Domain.Interfaces.IMenuSettingsDefinition source.

    UnityMenuViewModelTests

    Tests for Serenity.Menu.InterfaceAdapters.ViewModels.UnityMenuViewModel: reactive selection/options state, option-value replacement, and the submit/cancel flags. Pure C# view-model — no scene graph required.

    In this article
    © 2026 Serenity. All Rights Reserved