logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Namespace Serenity.Achievements.Tests.Conditions

    Classes

    AccumulateWhileConditionTests

    Behavioral tests for AccumulateWhileCondition: accumulating the growth of a score metric and a flat rate, ignoring what happened while the inner condition was broken, the reset-on-break switch, progress and validation.

    AchievementAuthoringRulesConditionMessageTests

    The three shapes a real condition node reports as invalid through its own Validate(), surfaced by AchievementAuthoringRules as a Condition issue: a composite that combines too few children, a Not with nothing to invert, and a Score Threshold naming no metric.

    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.

    AchievementConditionHardeningTests

    What the condition model does with input it did not produce: a corrupted tree that points at itself, and a stored state that was hand-edited, truncated, written by an older build, or simply is not a number.

    AchievementConditionSummaryTests

    Golden-string tests for AchievementConditionSummary. The exact sentence matters: it is what an author reads in the Studio list, in the tree header and in a validation report, so a change to any of these is a change to the tool's vocabulary, not an implementation detail.

    CompositeConditionTests

    Behavioral tests for the composites: And, Or, Not and Sequence — how they combine their children, how they report progress without double-counting them, what they validate, and how a sequence's position and its children's tallies round-trip through one packed state string.

    CorruptedConditionTrees

    Builds the corrupted trees the structural guard exists for.

    CustomConditionTests

    Behavioral tests for CustomCondition: delegating to a resolved rule, caching the resolution, degrading to "not met" when nothing resolves, and the resolver-aware validation the authoring rules ask for.

    DurationConditionTests

    Behavioral tests for DurationCondition: accumulating only while the inner condition holds, restarting when it breaks, the scaled/unscaled choice, progress, validation and the round trip that carries an unfinished duration across a relaunch.

    GameProgressConditionTests

    Behavioral tests for GameProgressCondition: the three questions it can ask of the player's global progress, the progress the counting one reports, and validation.

    ScoreThresholdConditionTests

    Behavioral tests for ScoreThresholdCondition: every comparator, the progress a growing metric reports, the zero an untracked metric reads as, and validation.

    SignalReceivedConditionTests

    Behavioral tests for SignalReceivedCondition: counting only matching signals, tolerating the assembly identity in an authored name, progress, validation, reset, and the capture/restore round trip that lets a tally survive a relaunch.

    In this article
    © 2026 Serenity. All Rights Reserved