diff --git a/tests/GameCult.Caching.Tests/RefListDriftTests.cs b/tests/GameCult.Caching.Tests/RefListDriftTests.cs index 77949bcb..2cb52167 100644 --- a/tests/GameCult.Caching.Tests/RefListDriftTests.cs +++ b/tests/GameCult.Caching.Tests/RefListDriftTests.cs @@ -36,10 +36,22 @@ namespace GameCult.Caching.Tests public CultRecordRef[] Items = Array.Empty>(); } - // The same slot declared as a plain value, as a later version might: the reverse of the 1.0.x drift. - [CultDocument("tests.reflist_holder", "tests.reflist_holder.v2")] + // The reverse of the 1.0.x drift: a slot persisted as a reference list, declared by a later version as a plain value. + [CultDocument("tests.reflist_loss", "tests.reflist_loss.v1")] [MessagePackObject(AllowPrivate = true)] - internal sealed class RefListValueHolder + internal sealed class RefListLossBefore + { + [Key(0)] + [CultName] + public string Name = string.Empty; + + [Key(1)] + public CultRecordRef[] Items = Array.Empty>(); + } + + [CultDocument("tests.reflist_loss", "tests.reflist_loss.v2")] + [MessagePackObject(AllowPrivate = true)] + internal sealed class RefListLossAfter { [Key(0)] [CultName] @@ -133,10 +145,10 @@ namespace GameCult.Caching.Tests public void A_Lost_Reference_Still_Refuses() { var registry = CultDocumentRegistry.Shared; - var catalog = registry.GetRequired().ToCatalogEntry(); - catalog.SchemaId = "persisted.tests.reflist_holder.v1"; + var catalog = registry.GetRequired().ToCatalogEntry(); + catalog.SchemaId = "persisted.tests.reflist_loss.v1"; catalog.ContentHash = "sha256:persisted-by-2.0"; - catalog.CompatibleSchemaIds = new[] { registry.GetRequired().SchemaId }; + catalog.CompatibleSchemaIds = new[] { registry.GetRequired().SchemaId }; catalog.Members.Single(member => member.Slot == 1).TypeName = "System.String[]"; Assert.That( () => registry.ResolvePersistedSchemaReport(catalog.SchemaId, new[] { catalog }),