Namespace Serenity.PackageBootstrapper.Tests.Editor
Classes
GhostAssetPathFilterTests
Pure tests for GhostAssetPathFilter. No assets or files are touched.
PackageManagerDependencyManifestBuilderTests
Pure tests for Serenity.Editor.PackageBootstrapper.PackageManagerDependencyManifestBuilder. Asserts against a literal
expected string, matching the {"dependencies":{...}} shape
Packages/com.unity.asset-store-tools/Editor/Exporter/DefaultPackageExporter.cs writes.
PackageManagerDependencyVersionResolverTests
Pure tests for Serenity.Editor.PackageBootstrapper.PackageManagerDependencyVersionResolver. No Package Manager calls.
RelocatedAssetBackupStoreTests
EditMode tests for Serenity.Editor.ObsoleteAssetCleaner.RelocatedAssetBackupStore. Follows the temp-folder hygiene convention
of SerenityAssetCreationTransactionTests: every fixture asset lives under a private temp folder
wiped in SetUp()/TearDown(). The backup store's own root points at a separate
scratch folder under Library/ — outside Assets/, deleted the same way — so a failing run
never leaves stray state behind. No Addressables involvement: this store only moves bytes on disk.
RelocatedShippedAssetPlannerTests
Pure tests for Serenity.Editor.ObsoleteAssetCleaner.RelocatedShippedAssetPlanner. No AssetDatabase, no disk I/O.
RestorePayloadPlannerTests
Pure tests for RestorePayloadPlanner. No assets or files are touched.
SerenityObsoleteAssetCleanerTests
Pure tests for Serenity.Editor.ObsoleteAssetCleaner.ObsoleteAssetClassifier.ClassifySweep(System.Collections.Generic.IReadOnlyList{System.String},System.Collections.Generic.IReadOnlyCollection{System.String},System.Func{System.String,System.Boolean},System.Func{System.String,System.Boolean},System.Func{System.String,Serenity.Editor.ObsoleteAssetCleaner.OrphanReconciliationEvidence}),
Serenity.Editor.ObsoleteAssetCleaner.ObsoleteAssetClassifier.ClassifyReconciliationAction(Serenity.Editor.ObsoleteAssetCleaner.OrphanReconciliationEvidence) and
Serenity.Editor.ObsoleteAssetCleaner.SerenityShippedSnapshotImportWatcher.MergeImportRecords(Serenity.Editor.ObsoleteAssetCleaner.SerenityShippedSnapshotImportWatcher.PackageImportRecord,Serenity.Editor.ObsoleteAssetCleaner.SerenityShippedSnapshotImportWatcher.PackageImportRecord), plus consistency tests asserting
the cleaner's duplicated known-non-product and tombstone-marker data stays in sync with
Serenity.Editor.PackageBootstrapper.SerenityPackageExporter.ExcludedPaths and TombstonePlanner's actual output
(the cleaner assembly cannot reference either — see the classes' remarks). No real assets are touched
by the classification tests; the tombstone-shape tests write real temp files (they need
IsTombstoneFile to read actual file content/length from disk) under the OS temp folder.
SerenityPackageDependencyInstallerTests
Tests the single-source-of-truth relationship between Serenity.Editor.PackageBootstrapper.SerenityPackageDependencyInstaller.RequiredPackageIds
and Serenity.Editor.PackageBootstrapper.SerenityPackageDependencyInstaller.EmbeddablePackageIds that SerenityPackageExporter relies on
when embedding UPM dependencies into the exported .unitypackage.
SerenityPackageExporterTests
Tests for the customer-project guard in SerenityPackageExporter: both public entry points must no-op — never regenerating the shipped-assets snapshot, never exporting a package — when Serenity.Editor.PackageBootstrapper.SerenityPackageExporter.IsDevelopmentProjectCheck reports a customer project.
SerenityPackageImportScrubberTests
Pure tests for Serenity.Editor.ObsoleteAssetCleaner.SerenityPackageImportScrubber.IsSerenityPackageName(System.String). No assets are touched.
TombstonePlannerTests
Pure tests for TombstonePlanner. No assets or files are touched.
UnityPackageDependencyEmbedderTests
Gzip round-trip tests for Serenity.Editor.PackageBootstrapper.UnityPackageDependencyEmbedder: build a tiny tar.gz on disk, append a dependency manifest entry, then decompress and read both the original and the new entry back.
UnityPackageTarArchiveUtilsTests
Pure tests for Serenity.Editor.PackageBootstrapper.UnityPackageTarArchiveUtils. No file I/O; streams are in-memory.