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.