Class GameSaveServiceTests
GameSaveService-specific tests: slot bounds validation, active-slot lifecycle,
save orchestration over registered sections, load restoring section payloads, copy semantics,
monotonically-increasing per-slot ticks, and signal dispatch.
Inheritance
GameSaveServiceTests
Assembly: Tests.dll
Syntax
public class GameSaveServiceTests
Constructors
GameSaveServiceTests()
Declaration
public GameSaveServiceTests()
Methods
CopyAsync_DestinationSlotSeededWithAnOutOfBandFutureStoredTick_StillOverwrites()
Declaration
public Task CopyAsync_DestinationSlotSeededWithAnOutOfBandFutureStoredTick_StillOverwrites()
Returns
CopyAsync_EmptySourceSlot_IsNoOp()
Declaration
public Task CopyAsync_EmptySourceSlot_IsNoOp()
Returns
CopyAsync_OccupiedTargetSlot_IsOverwritten()
Declaration
public Task CopyAsync_OccupiedTargetSlot_IsOverwritten()
Returns
DeleteAsync_ClearsActiveSlotWhenItWasTheDeletedSlot()
Declaration
public Task DeleteAsync_ClearsActiveSlotWhenItWasTheDeletedSlot()
Returns
DeleteAsync_DispatchesSaveSlotDeletedSignal()
Declaration
public Task DeleteAsync_DispatchesSaveSlotDeletedSignal()
Returns
DeleteAsync_DoesNotClearActiveSlotWhenADifferentSlotWasDeleted()
Declaration
public Task DeleteAsync_DoesNotClearActiveSlotWhenADifferentSlotWasDeleted()
Returns
Declaration
public void IsSlotIndexValid_OutOfConfiguredRange_ReturnsFalse()
Declaration
public void IsSlotIndexValid_WithinConfiguredRange_ReturnsTrue()
MultipleSavesToTheSameSlot_EachProduceStrictlyIncreasingTicks()
Declaration
public Task MultipleSavesToTheSameSlot_EachProduceStrictlyIncreasingTicks()
Returns
Declaration
public Task QuerySlotsAsync_ReturnsOneSummaryPerConfiguredSlot()
Returns
SaveActiveAsync_NoActiveSlot_IsNoOp()
Declaration
public Task SaveActiveAsync_NoActiveSlot_IsNoOp()
Returns
SaveActiveAsync_WithActiveSlot_SavesThatSlot()
Declaration
public Task SaveActiveAsync_WithActiveSlot_SavesThatSlot()
Returns
SaveAsync_CallsSerializeOnEveryRegisteredSection()
Declaration
public Task SaveAsync_CallsSerializeOnEveryRegisteredSection()
Returns
SaveAsync_ColdInstanceAgainstAnOutOfBandFutureStoredTick_StillWinsTheUpsert()
Declaration
public Task SaveAsync_ColdInstanceAgainstAnOutOfBandFutureStoredTick_StillWinsTheUpsert()
Returns
SaveAsync_DispatchesGameSavedSignal()
Declaration
public Task SaveAsync_DispatchesGameSavedSignal()
Returns
SaveAsync_InvalidSlot_DoesNotCallStore()
Declaration
public Task SaveAsync_InvalidSlot_DoesNotCallStore()
Returns
Declaration
public Task SaveAsync_PromotesCompletionSectionMetadata()
Returns
SavesToDifferentSlots_TrackTicksIndependently()
Declaration
public Task SavesToDifferentSlots_TrackTicksIndependently()
Returns
TryLoadAsync_EmptySlot_ReturnsFalse()
Declaration
public Task TryLoadAsync_EmptySlot_ReturnsFalse()
Returns
TryLoadAsync_InvalidSlot_ReturnsFalse()
Declaration
public Task TryLoadAsync_InvalidSlot_ReturnsFalse()
Returns
TryLoadAsync_OccupiedSlot_HandsPayloadBackToRegisteredSectionAndActivatesSlot()
Declaration
public Task TryLoadAsync_OccupiedSlot_HandsPayloadBackToRegisteredSectionAndActivatesSlot()
Returns
TryLoadAsync_SectionPayloadMissingARequiredProperty_ThrowsGameSaveStoreExceptionNamingTheSection()
Declaration
public Task TryLoadAsync_SectionPayloadMissingARequiredProperty_ThrowsGameSaveStoreExceptionNamingTheSection()
Returns
TryLoadAsync_SectionPayloadMissingAnOptionalProperty_DegradesGracefullyInsteadOfFailingTheLoad()
Declaration
public Task TryLoadAsync_SectionPayloadMissingAnOptionalProperty_DegradesGracefullyInsteadOfFailingTheLoad()
Returns
TryLoadAsync_SyntacticallyBrokenSectionPayload_ThrowsGameSaveStoreException()
Declaration
public Task TryLoadAsync_SyntacticallyBrokenSectionPayload_ThrowsGameSaveStoreException()
Returns
TrySetActiveSlot_InvalidSlot_ReturnsFalseAndLeavesActiveSlotUnchanged()
Declaration
public void TrySetActiveSlot_InvalidSlot_ReturnsFalseAndLeavesActiveSlotUnchanged()
TrySetActiveSlot_ValidSlot_SetsActiveSlotAndReturnsTrue()
Declaration
public void TrySetActiveSlot_ValidSlot_SetsActiveSlotAndReturnsTrue()