Class PersistenceBackendDefinitionCreatorTests
EditMode tests for PersistenceBackendDefinitionCreator: the Persistence row's in-window
Create action. UnityStructuredBackendDefinition subtypes are an unrelated structured-persistence
concept — every asset this creator builds is a real UnityPersistenceBackendDefinition,
the exact type both the row's own scan and UnitySerenityInstaller.PersistenceBackendDefinition
read, so the row's own scan (ResolveSettingsContext(string, string, string)) actually finds
what Create just built, in the same window, with no reopening required.
Inherited Members
Namespace: Serenity.CreateGame.Tests.Editor
Assembly: Serenity.CreateGame.Tests.Editor.dll
Syntax
public class PersistenceBackendDefinitionCreatorTests
Constructors
PersistenceBackendDefinitionCreatorTests()
Declaration
public PersistenceBackendDefinitionCreatorTests()
Methods
Create_FileKind_BuildsAUnityPersistenceBackendDefinitionNamingTheFileInstaller()
Declaration
public void Create_FileKind_BuildsAUnityPersistenceBackendDefinitionNamingTheFileInstaller()
Create_LandsTheAssetUnderTheOutputRootsPersistenceFolder_NamedAfterTheDisplayName()
Declaration
public void Create_LandsTheAssetUnderTheOutputRootsPersistenceFolder_NamedAfterTheDisplayName()
Create_PlayerPrefsKind_SetsTheCuratedConstructorArgs()
Declaration
public void Create_PlayerPrefsKind_SetsTheCuratedConstructorArgs()
Create_SetsANonEmptySanitizedId()
Declaration
public void Create_SetsANonEmptySanitizedId()
Create_ThenScanForTheRowsOwnSettingsType_ResolvesTheCreatedAssetInTheSameWindow()
Proves the type the Create action builds is exactly the type the row's own scan (and
ProjectWiringRunner.ResolveProjectOwnedSettingsPathOrNothing) reads for
UnityPersistenceBackendDefinition — a UnityStructuredBackendDefinition subtype
would never resolve there. Driving Create through its non-GUI entry point (no GenericMenu, no
DisplayDialog anywhere on this path) and then re-running that exact scan proves the row resolves in
the same window, without reopening it.
Declaration
public void Create_ThenScanForTheRowsOwnSettingsType_ResolvesTheCreatedAssetInTheSameWindow()
DiscoverOptions_IncludesTheBuiltInFileAndPlayerPrefsKinds()
Declaration
public void DiscoverOptions_IncludesTheBuiltInFileAndPlayerPrefsKinds()
DiscoverOptions_NeverListsTheAbstractPersistenceInstallerBaseTypeItself()
Declaration
public void DiscoverOptions_NeverListsTheAbstractPersistenceInstallerBaseTypeItself()
FindLegacyStructuredBackendAssetPath_LegacyAssetInThePersistenceFolder_ReturnsItsPathAndTypeName()
Reproduces the now-deleted PersistenceBackendCreationMenu's own output shape: a
UnityStructuredBackendDefinition subtype under the exact same "<outputRoot>/Persistence/"
folder Create(PersistenceBackendDefinitionOption, string, bool) still uses.
Declaration
public void FindLegacyStructuredBackendAssetPath_LegacyAssetInThePersistenceFolder_ReturnsItsPathAndTypeName()
FindLegacyStructuredBackendAssetPath_NoOutputFolderYet_ReturnsNull()
Declaration
public void FindLegacyStructuredBackendAssetPath_NoOutputFolderYet_ReturnsNull()
FindLegacyStructuredBackendAssetPath_NothingUnderThePersistenceFolder_ReturnsNull()
Declaration
public void FindLegacyStructuredBackendAssetPath_NothingUnderThePersistenceFolder_ReturnsNull()
FindLegacyStructuredBackendAssetPath_StructuredBackendAssetOutsideThePersistenceFolder_IsNotDetected()
A UnityStructuredBackendDefinition subtype elsewhere in the project (a
Leaderboard/GameSave/etc. database connection — a legitimate, unrelated use of the same base type)
must never be mistaken for a Persistence-row leftover: detection is scoped to the Persistence row's
own output folder alone.
Declaration
public void FindLegacyStructuredBackendAssetPath_StructuredBackendAssetOutsideThePersistenceFolder_IsNotDetected()
OneTimeSetUp()
Declaration
public static void OneTimeSetUp()
OneTimeTearDown()
Declaration
public static void OneTimeTearDown()
SetUp()
Declaration
public void SetUp()
TearDown()
Declaration
public void TearDown()