logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class AchievementConditionExampleTests

    The five achievements the condition model was designed around, authored end to end and driven through the real AchievementService: beat the final boss, kill a great many enemies, cross the back room undetected, spend half an hour in the bath, and travel a hundred metres without touching the ground.

    Inheritance
    object
    AchievementConditionExampleTests
    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.Conditions
    Assembly: Tests.dll
    Syntax
    public class AchievementConditionExampleTests
    Remarks

    These are the acceptance tests of the whole PR. Each one also documents the division of labour the model depends on: the game emits signals and feeds metrics, and the rule over them is authored rather than written.

    Constructors

    AchievementConditionExampleTests()

    Declaration
    public AchievementConditionExampleTests()

    Methods

    BeatTheFinalBoss_UnlocksWhenTheGameReportsACompletion()

    Declaration
    public Task BeatTheFinalBoss_UnlocksWhenTheGameReportsACompletion()
    Returns
    Type Description
    Task

    CrossTheBackRoomUndetected_NeedsBothGameSignalsAndNoDetection()

    Declaration
    public Task CrossTheBackRoomUndetected_NeedsBothGameSignalsAndNoDetection()
    Returns
    Type Description
    Task

    CrossTheBackRoomUndetected_UnlocksOnACleanRun()

    Declaration
    public Task CrossTheBackRoomUndetected_UnlocksOnACleanRun()
    Returns
    Type Description
    Task

    KillAGreatManyEnemies_TracksProgressAndUnlocksAtTheThreshold()

    Declaration
    public Task KillAGreatManyEnemies_TracksProgressAndUnlocksAtTheThreshold()
    Returns
    Type Description
    Task

    SetUp()

    Declaration
    public void SetUp()

    SpendHalfAnHourInTheBath_AccumulatesOnlyWhileTheGameSaysThePlayerIsInIt()

    Declaration
    public Task SpendHalfAnHourInTheBath_AccumulatesOnlyWhileTheGameSaysThePlayerIsInIt()
    Returns
    Type Description
    Task

    SpendHalfAnHourInTheBath_CarriesTheUnfinishedDurationAcrossARelaunch()

    Declaration
    public Task SpendHalfAnHourInTheBath_CarriesTheUnfinishedDurationAcrossARelaunch()
    Returns
    Type Description
    Task

    TravelAHundredMetresAirborne_ResetsTheRunOnLanding()

    Declaration
    public Task TravelAHundredMetresAirborne_ResetsTheRunOnLanding()
    Returns
    Type Description
    Task

    TravelAHundredMetresAirborne_UnlocksOnOneUnbrokenFlight()

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