Class SettingsAssetResolutionTests
EditMode tests for SettingsAssetResolution: both the by-Id-in-folder resolve-or-create every multi-asset creation engine shares, and the by-path resolve-or-create every single project-wide settings wizard shares. Built on real assets on disk, because the contract is about what the AssetDatabase resolves and what actually lands on disk — neither survives an in-memory double.
Every test drives a real Serenity.Global.Infrastructure.Editor.SerenityAssetCreationTransaction and rolls it back in teardown, so nothing is ever registered with the project's Addressables settings.
Inherited Members
Namespace: Serenity.StructuredPersistence.Tests.Editor
Assembly: Serenity.StructuredPersistence.Tests.Editor.dll
Syntax
public class SettingsAssetResolutionTests
Constructors
SettingsAssetResolutionTests()
Declaration
public SettingsAssetResolutionTests()
Methods
OneTimeSetUp()
Declaration
public void OneTimeSetUp()
OneTimeTearDown()
Declaration
public void OneTimeTearDown()
PlannedAssetPath_ExplicitEmpty_ComposesFromFallbackFolderAndFileName()
Declaration
public void PlannedAssetPath_ExplicitEmpty_ComposesFromFallbackFolderAndFileName()
PlannedAssetPath_ExplicitGiven_WinsOverFallback()
Declaration
public void PlannedAssetPath_ExplicitGiven_WinsOverFallback()
PlannedByIdPath_BlankId_UsesTheFallbackName()
Declaration
public void PlannedByIdPath_BlankId_UsesTheFallbackName()
ResolveOrCreateAtPath_ExistingResolution_ReturnsItAndCreatesNoFallbackFolder()
Declaration
public void ResolveOrCreateAtPath_ExistingResolution_ReturnsItAndCreatesNoFallbackFolder()
ResolveOrCreateAtPath_ExplicitPathGiven_WinsOverFallback()
Declaration
public void ResolveOrCreateAtPath_ExplicitPathGiven_WinsOverFallback()
ResolveOrCreateAtPath_FallbackFolderAlreadyExists_TracksNoFolderToRollBack()
Declaration
public void ResolveOrCreateAtPath_FallbackFolderAlreadyExists_TracksNoFolderToRollBack()
ResolveOrCreateAtPath_NoResolutionAndMissingFallbackFolder_CreatesAssetAndFolder()
Declaration
public void ResolveOrCreateAtPath_NoResolutionAndMissingFallbackFolder_CreatesAssetAndFolder()
ResolveOrCreateAtPath_RollbackAfterCreate_RemovesBothTheAssetAndTheCreatedFolder()
Declaration
public void ResolveOrCreateAtPath_RollbackAfterCreate_RemovesBothTheAssetAndTheCreatedFolder()
ResolveOrCreateByIdInFolder_BlankId_UsesTheFallbackName()
Declaration
public void ResolveOrCreateByIdInFolder_BlankId_UsesTheFallbackName()
ResolveOrCreateByIdInFolder_ExactMatchInASubfolder_ResolvesItBecauseTheScanRecurses()
Declaration
public void ResolveOrCreateByIdInFolder_ExactMatchInASubfolder_ResolvesItBecauseTheScanRecurses()
ResolveOrCreateByIdInFolder_ExactMatchInFolder_ReturnsItAndCreatesNothing()
Declaration
public void ResolveOrCreateByIdInFolder_ExactMatchInFolder_ReturnsItAndCreatesNothing()
ResolveOrCreateByIdInFolder_FolderAlreadyExists_TracksNoFolderToRollBack()
The always-ensure decision rests on this: a folder Unity already reports as valid costs a cache check and nothing else — no AssetDatabase write, and nothing recorded for rollback. Were that untrue, callers that ensure their own folder beforehand would accumulate phantom rollback entries.
Declaration
public void ResolveOrCreateByIdInFolder_FolderAlreadyExists_TracksNoFolderToRollBack()
ResolveOrCreateByIdInFolder_FolderDoesNotExistYet_CreatesItAndTracksItForRollback()
Declaration
public void ResolveOrCreateByIdInFolder_FolderDoesNotExistYet_CreatesItAndTracksItForRollback()
ResolveOrCreateByIdInFolder_IdOfIllegalCharacters_SanitizesThemInsteadOfFallingBack()
NamingSanitizer.FileNameSafe falls back only when sanitizing leaves NOTHING — illegal
characters become underscores, which is a usable file name. So an Id of pure punctuation keeps its
own (sanitized) name rather than taking the fallback.
Declaration
public void ResolveOrCreateByIdInFolder_IdOfIllegalCharacters_SanitizesThemInsteadOfFallingBack()
ResolveOrCreateByIdInFolder_NothingThere_AssignsAFreshGuid()
Declaration
public void ResolveOrCreateByIdInFolder_NothingThere_AssignsAFreshGuid()
ResolveOrCreateByIdInFolder_NothingThere_CreatesAtThePathTheIdSanitizesTo()
Declaration
public void ResolveOrCreateByIdInFolder_NothingThere_CreatesAtThePathTheIdSanitizesTo()
ResolveOrCreateByIdInFolder_NothingThere_TracksThePathSoTheRunCanRollBack()
Declaration
public void ResolveOrCreateByIdInFolder_NothingThere_TracksThePathSoTheRunCanRollBack()
ResolveOrCreateByIdInFolder_OnlyACaseVariantInFolder_CreatesANewAssetBecauseIdsAreCaseSensitive()
Declaration
public void ResolveOrCreateByIdInFolder_OnlyACaseVariantInFolder_CreatesANewAssetBecauseIdsAreCaseSensitive()
SetUp()
Declaration
public void SetUp()
TearDown()
Declaration
public void TearDown()