| Filename | Latest commit message | Latest commit date |
|---|---|---|
A record's bytes cannot say whether it holds an element id (an id is an ordinary keyed string), so the per-record fact decoded by whichever type loaded the record was a split authority: a narrower type unmarked a v3 store over bytes holding ids. HeaderForWrite is now a pure function of the durable header, the HoldsIds of the records the write encodes, and whether it copies any record forward: a write that copies keeps a marked header, a write that encodes every record decides by content. The directory store takes the same rule. Also pins the three Low test findings deferred from c2a-write-set s3: the reload cause is observed by type and message, the author's own Expect after a commit, and the directory store's re-mint branches. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> |
||
| .. | ||
| Fixtures | ||
| AssemblyInfo.cs | ||
| BackingStoreTests.cs | ||
| CompatibleSchemaIdTests.cs | ||
| ConditionalCommitTests.cs | ||
| CultAssetGuidKeyTests.cs | ||
| CultCacheJournalTests.cs | ||
| CultCacheObserverTests.cs | ||
| CultCacheProjectionTests.cs | ||
| CultDocumentRegistryTests.cs | ||
| CultDocumentSelectionSurfaceTests.cs | ||
| CultInspectorModelTests.cs | ||
| CultMathJsonTests.cs | ||
| CultMathSerializationTests.cs | ||
| DirectoryStoreDurabilityTests.cs | ||
| DocumentShapeTests.cs | ||
| ElementIdEngineTests.cs | ||
| ElementIdTests.cs | ||
| EmittedDocumentTypes.cs | ||
| ForeignRecordTests.cs | ||
| GameCult.Caching.Tests.csproj | ||
| PreCut2FixtureDocuments.cs | ||
| PreCut2StoreFormatTests.cs | ||
| README.md | ||
| SerializationOptionsTests.cs | ||
| StoreReadabilityTests.cs | ||
| StoreRoutingTests.cs | ||
| VariantTests.cs | ||
| WriteSetTests.cs | ||
GameCult.Caching.Tests
GameCult.Caching.Tests contains NUnit tests for the caching library and its
MessagePack persistence stores.
Scope
The tests currently cover:
SingleFileMessagePackBackingStoreround-trips, external pulls, and the dirty-pull guardDirectoryMessagePackBackingStorewith thecultcache.store.v4.directory-content-addressed-pagesmanifest: page writes, clean flushes, concurrent writers under the commit lease, external deltas, unflushed local keys, orphaned pages, and observers running after the lease is releasedCultCacheMessagePack.OpenAsync, persisted globals, dirty state, and flush on dispose- cache lookups (
Get,GetAll, runtime-type upserts) CultCache.Commitbatches on a directory store: visibility after the store commits, abandoned stages, sealed batches, observers committing again- Cult document payloads, registry shape rejections, canonical schema fixtures, and schema drift reports
- hand-written MessagePack snapshot and record serialization
StoreRoutingTests: the store-composition contract (routing, attachment is hydration, read-only stores, global singletons, assignable lookups, batches, all-or-nothing loads)ConditionalCommitTests:Expect,ExpectUnchanged,TryCommit, the single-file lock, strictly increasingstoredAt, and the same conditions on a directory storeDirectoryStoreDurabilityTests: failed manifest replace, content-addressed pages, the commit lease, orphan pages and tampered pages, with faults from real file locksPreCut2StoreFormatTests: stores written before Cut 2 still open
Selective hydration, the directory store's stage probes, pre-v4 directory
formats, and the SoA table are no longer in the tree; the SoA table is parked
at parked/cultcache-soa (docs/parked-features.md).
Run
dotnet test tests\GameCult.Caching.Tests\GameCult.Caching.Tests.csproj