logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class AchievementServiceTests

    Behavioral tests for AchievementService over an in-memory store and a scriptable platform gateway: unlock idempotency, the points mirror, hidden visibility, progress clamping and auto-unlock, platform push throttling, reconciliation in both directions, the detached screenshot attachment, and reset.

    Inheritance
    object
    AchievementServiceTests
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.Achievements.Tests.Application
    Assembly: Tests.dll
    Syntax
    public class AchievementServiceTests

    Constructors

    AchievementServiceTests()

    Declaration
    public AchievementServiceTests()

    Methods

    CallsAfterDispose_WarnOnceRatherThanOncePerCall()

    Declaration
    public Task CallsAfterDispose_WarnOnceRatherThanOncePerCall()
    Returns
    Type Description
    Task

    Ctor_NullDefinitions_Throws()

    Declaration
    public void Ctor_NullDefinitions_Throws()

    Ctor_NullIdentity_Throws()

    Declaration
    public void Ctor_NullIdentity_Throws()

    Ctor_NullPlatformSync_Throws()

    Declaration
    public void Ctor_NullPlatformSync_Throws()

    Ctor_NullPointsMirror_Throws()

    Declaration
    public void Ctor_NullPointsMirror_Throws()

    Ctor_NullRegistry_Throws()

    Declaration
    public void Ctor_NullRegistry_Throws()

    Ctor_NullScreenshotAttachment_Throws()

    Declaration
    public void Ctor_NullScreenshotAttachment_Throws()

    Ctor_NullSessionGeneration_Throws()

    Declaration
    public void Ctor_NullSessionGeneration_Throws()

    Ctor_NullSettings_Throws()

    Declaration
    public void Ctor_NullSettings_Throws()

    Ctor_NullStore_Throws()

    Declaration
    public void Ctor_NullStore_Throws()

    Dispose_CancelsAScreenshotCaptureStillInFlight()

    Declaration
    public Task Dispose_CancelsAScreenshotCaptureStillInFlight()
    Returns
    Type Description
    Task

    Dispose_TwiceInARow_IsSafe()

    Declaration
    public void Dispose_TwiceInARow_IsSafe()

    Dispose_WhileACaptureIsStarting_DoesNotThrow()

    Declaration
    public Task Dispose_WhileACaptureIsStarting_DoesNotThrow()
    Returns
    Type Description
    Task

    GetAll_IsOrderedByDisplayOrder()

    Declaration
    public void GetAll_IsOrderedByDisplayOrder()

    GetTotalPoints_SumsTheUnlockedRecordsOnly()

    Declaration
    public Task GetTotalPoints_SumsTheUnlockedRecordsOnly()
    Returns
    Type Description
    Task

    GetVisible_HidesAHiddenAchievementUntilItIsUnlocked()

    Declaration
    public Task GetVisible_HidesAHiddenAchievementUntilItIsUnlocked()
    Returns
    Type Description
    Task

    IdentityChangedAfterLoad_KeepsWritingAsTheLoadedPlayerAndWarnsOnce()

    Declaration
    public Task IdentityChangedAfterLoad_KeepsWritingAsTheLoadedPlayerAndWarnsOnce()
    Returns
    Type Description
    Task

    IncrementProgressAsync_AddsToTheStoredNumerator()

    Declaration
    public Task IncrementProgressAsync_AddsToTheStoredNumerator()
    Returns
    Type Description
    Task

    IncrementProgressAsync_AfterAutoUnlock_IsANoOp()

    Declaration
    public Task IncrementProgressAsync_AfterAutoUnlock_IsANoOp()
    Returns
    Type Description
    Task

    LoadAsync_AfterAnIdentityChange_SwitchesAccounts()

    Declaration
    public Task LoadAsync_AfterAnIdentityChange_SwitchesAccounts()
    Returns
    Type Description
    Task

    LoadAsync_HydratedUnlocks_AreNotMirroredIntoScoreAgain()

    Declaration
    public Task LoadAsync_HydratedUnlocks_AreNotMirroredIntoScoreAgain()
    Returns
    Type Description
    Task

    LoadAsync_HydratesTheCacheFromTheStore()

    Declaration
    public Task LoadAsync_HydratesTheCacheFromTheStore()
    Returns
    Type Description
    Task

    LoadAsync_LocalOnlyUnlock_IsPushedToThePlatform()

    Declaration
    public Task LoadAsync_LocalOnlyUnlock_IsPushedToThePlatform()
    Returns
    Type Description
    Task

    LoadAsync_PlatformOnlyUnlock_IsMirroredLocallyWithoutASignal()

    Declaration
    public Task LoadAsync_PlatformOnlyUnlock_IsMirroredLocallyWithoutASignal()
    Returns
    Type Description
    Task

    LoadAsync_PlatformOnlyUnlock_SignalsWhenTheProjectOptedIn()

    Declaration
    public Task LoadAsync_PlatformOnlyUnlock_SignalsWhenTheProjectOptedIn()
    Returns
    Type Description
    Task

    LoadAsync_ReconciledUnlocks_AreNotMirroredIntoScore()

    Declaration
    public Task LoadAsync_ReconciledUnlocks_AreNotMirroredIntoScore()
    Returns
    Type Description
    Task

    LoadAsync_UnavailablePlatform_StillHydratesTheCache()

    Declaration
    public Task LoadAsync_UnavailablePlatform_StillHydratesTheCache()
    Returns
    Type Description
    Task

    ReadsBeforeLoad_WarnOnceAndReportEverythingLocked()

    Declaration
    public void ReadsBeforeLoad_WarnOnceAndReportEverythingLocked()

    ResetAllAsync_AfterDispose_IsANoOpRatherThanAFailure()

    Declaration
    public Task ResetAllAsync_AfterDispose_IsANoOpRatherThanAFailure()
    Returns
    Type Description
    Task

    ResetAllAsync_ClearsEveryLocalStore()

    Declaration
    public Task ResetAllAsync_ClearsEveryLocalStore()
    Returns
    Type Description
    Task

    ResetAllAsync_ClearsThePlatformWhenTheProjectOptedIn()

    Declaration
    public Task ResetAllAsync_ClearsThePlatformWhenTheProjectOptedIn()
    Returns
    Type Description
    Task

    ResetAllAsync_LeavesThePlatformAloneByDefault()

    Declaration
    public Task ResetAllAsync_LeavesThePlatformAloneByDefault()
    Returns
    Type Description
    Task

    ResetAllAsync_ReturnsTheMirroredScoreMetricToZero()

    Declaration
    public Task ResetAllAsync_ReturnsTheMirroredScoreMetricToZero()
    Returns
    Type Description
    Task

    RetryPlatformSyncAsync_PushesWhatTheOfflineLoadCouldNot()

    Declaration
    public Task RetryPlatformSyncAsync_PushesWhatTheOfflineLoadCouldNot()
    Returns
    Type Description
    Task

    RetryPlatformSyncAsync_StillOffline_IsAHarmlessNoOp()

    Declaration
    public Task RetryPlatformSyncAsync_StillOffline_IsAHarmlessNoOp()
    Returns
    Type Description
    Task

    SetProgressAsync_AboveTheTarget_ClampsRatherThanOvershooting()

    Declaration
    public Task SetProgressAsync_AboveTheTarget_ClampsRatherThanOvershooting()
    Returns
    Type Description
    Task

    SetProgressAsync_ClampsToTheTargetAndDispatchesTheChange()

    Declaration
    public Task SetProgressAsync_ClampsToTheTargetAndDispatchesTheChange()
    Returns
    Type Description
    Task

    SetProgressAsync_ExactStepBoundaries_PushOnce()

    Declaration
    public Task SetProgressAsync_ExactStepBoundaries_PushOnce()
    Returns
    Type Description
    Task

    SetProgressAsync_JumpingStraightToComplete_PushesProgressOnce()

    Declaration
    public Task SetProgressAsync_JumpingStraightToComplete_PushesProgressOnce()
    Returns
    Type Description
    Task

    SetProgressAsync_NegativeFromANonZeroBaseline_ClampsToZeroAndDispatches()

    Declaration
    public Task SetProgressAsync_NegativeFromANonZeroBaseline_ClampsToZeroAndDispatches()
    Returns
    Type Description
    Task

    SetProgressAsync_OnABooleanAchievement_WarnsAndChangesNothing()

    Declaration
    public Task SetProgressAsync_OnABooleanAchievement_WarnsAndChangesNothing()
    Returns
    Type Description
    Task

    SetProgressAsync_PushesToThePlatformOnlyWhenItCrossesTheStep()

    Declaration
    public Task SetProgressAsync_PushesToThePlatformOnlyWhenItCrossesTheStep()
    Returns
    Type Description
    Task

    SetProgressAsync_ReachingTheTarget_AutoUnlocks()

    Declaration
    public Task SetProgressAsync_ReachingTheTarget_AutoUnlocks()
    Returns
    Type Description
    Task

    SetProgressAsync_UnchangedValue_WritesNothing()

    Declaration
    public Task SetProgressAsync_UnchangedValue_WritesNothing()
    Returns
    Type Description
    Task

    SetProgressAsync_ZeroStepPercent_PushesEveryChange()

    Declaration
    public Task SetProgressAsync_ZeroStepPercent_PushesEveryChange()
    Returns
    Type Description
    Task

    UnlockAsync_AfterDispose_IsANoOpRatherThanAFailure()

    Declaration
    public Task UnlockAsync_AfterDispose_IsANoOpRatherThanAFailure()
    Returns
    Type Description
    Task

    UnlockAsync_DispatchesTheUnlockedSignal()

    Declaration
    public Task UnlockAsync_DispatchesTheUnlockedSignal()
    Returns
    Type Description
    Task

    UnlockAsync_FailedCapture_LeavesTheUnlockIntact()

    Declaration
    public Task UnlockAsync_FailedCapture_LeavesTheUnlockIntact()
    Returns
    Type Description
    Task

    UnlockAsync_MarksTheAchievementUnlockedAndRecordsIt()

    Declaration
    public Task UnlockAsync_MarksTheAchievementUnlockedAndRecordsIt()
    Returns
    Type Description
    Task

    UnlockAsync_PlatformPush_PreservesTheUnlockDate()

    Declaration
    public Task UnlockAsync_PlatformPush_PreservesTheUnlockDate()
    Returns
    Type Description
    Task

    UnlockAsync_PlatformRefuses_LeavesTheRecordQueuedWithoutThrowing()

    Declaration
    public Task UnlockAsync_PlatformRefuses_LeavesTheRecordQueuedWithoutThrowing()
    Returns
    Type Description
    Task

    UnlockAsync_PushesToThePlatformAndMarksTheRecordSynced()

    Declaration
    public Task UnlockAsync_PushesToThePlatformAndMarksTheRecordSynced()
    Returns
    Type Description
    Task

    UnlockAsync_Twice_WritesOnlyOnce()

    Declaration
    public Task UnlockAsync_Twice_WritesOnlyOnce()
    Returns
    Type Description
    Task

    UnlockAsync_UnknownAchievement_WarnsOnceAndChangesNothing()

    Declaration
    public Task UnlockAsync_UnknownAchievement_WarnsOnceAndChangesNothing()
    Returns
    Type Description
    Task

    UnlockAsync_WithBlankPointsScoreKey_NeverTouchesScore()

    Declaration
    public Task UnlockAsync_WithBlankPointsScoreKey_NeverTouchesScore()
    Returns
    Type Description
    Task

    UnlockAsync_WithPointsScoreKey_MirrorsThePointsIntoScore()

    Declaration
    public Task UnlockAsync_WithPointsScoreKey_MirrorsThePointsIntoScore()
    Returns
    Type Description
    Task

    UnlockAsync_WithScreenshotsOff_NeverCaptures()

    Declaration
    public Task UnlockAsync_WithScreenshotsOff_NeverCaptures()
    Returns
    Type Description
    Task

    UnlockAsync_WithScreenshotsOn_AttachesTheKeyAndSignalsIt()

    Declaration
    public Task UnlockAsync_WithScreenshotsOn_AttachesTheKeyAndSignalsIt()
    Returns
    Type Description
    Task

    UnlockAsync_ZeroPointAchievement_CountsAsUnlockedWithoutTouchingScore()

    Declaration
    public Task UnlockAsync_ZeroPointAchievement_CountsAsUnlockedWithoutTouchingScore()
    Returns
    Type Description
    Task
    In this article
    © 2026 Serenity. All Rights Reserved