logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Namespace Serenity.UiThemeValidation.Tests.Editor

    Classes

    AchievementsThemeRetrofitterTests

    EditMode tests for RetrofitTheme(UnityUiThemeDefinition, bool, bool) against a minimal fixture theme under a temp folder, plus the validator rule the generated prefab has to satisfy. Deliberately never calls RetrofitAllThemesMissingAchievements(bool, bool): that entry point scans every UnityUiThemeDefinition in the whole project, so exercising it here would retrofit the real shipped themes as a side effect of running the test suite.

    LeaderboardThemeRetrofitterTests

    EditMode tests for RetrofitTheme(UnityUiThemeDefinition, bool, bool) against a minimal fixture theme under a temp folder. Deliberately never calls RetrofitAllThemesMissingLeaderboard(bool, bool): that entry point scans every UnityUiThemeDefinition in the whole project, so exercising it here would retrofit the real shipped themes as a side effect of running the test suite.

    ThemeCreatorAchievementsTests

    EditMode tests for the Achievements.prefab generated by AchievementsPrefabBuilder as part of a full theme generation run. Exercised end-to-end through the public SerenityThemeBuilderRunner entry point rather than calling ThemeCreator directly, since ThemeCreator/GenerationContext/the prefab builders are internal to the Ui Installation Editor assembly and this test assembly has no InternalsVisibleTo grant into it.

    ThemeCreatorLeaderboardTests

    EditMode tests for the Leaderboard.prefab generated by ChromePrefabBuilders.BuildLeaderboard as part of a full theme generation run. Exercised end-to-end through the public SerenityThemeBuilderRunner entry point rather than calling ThemeCreator directly, since ThemeCreator/GenerationContext/ChromePrefabBuilders are internal to the Ui Installation Editor assembly and this test assembly has no InternalsVisibleTo grant into it.

    ThemeModulePrefabBuilderRegistryTests

    EditMode tests for Serenity.Ui.Installation.Editor.Settings.Builder.ThemeModulePrefabBuilders -- the single-slot seam Serenity.UnityAchievements.Infrastructure.Editor uses to hand its Achievements.prefab builder back to Serenity.Ui.Installation.Editor.Settings.Builder.ThemePrefabFactory and AchievementsThemeRetrofitter, since the reverse reference those would otherwise need directly is an asmdef cycle (that assembly already references this one). This test assembly references the Achievements editor assembly (see this suite's own asmdef) purely so AchievementsThemePrefabRegistration's [InitializeOnLoad] constructor actually runs on domain load for the first test below to observe.

    UiThemeValidatorEngineTests

    EditMode tests for UiThemeValidatorEngine's optional panel-slot checks. Every one of them follows the same contract: null is allowed, because the view that reads the slot falls back to a procedural panel, and when set the prefab must carry that view's panel script.

    In this article
    © 2026 Serenity. All Rights Reserved