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.