logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Namespace Serenity.Achievements.Tests.Sync

    Classes

    AchievementCopilotScriptTests

    Tests for AchievementCopilotScript: gating fidelity against the same acceptance rules AchievementPushPlanExecutor already enforces, new-vs-existing classification, icon instructions only for accepted icons with bytes, and determinism.

    AchievementIconImageLimitsTests

    Tests for AchievementIconImageLimits: a file that declares too much, or nothing readable, is refused from its header alone.

    AchievementIconPayloadTests

    Tests for AchievementIconPayload: null-coalescing construction and defensive copying of PngBytes.

    AchievementPushBatchTests

    Tests for AchievementPushBatch: null-coalescing construction and defensive copying of the given lists.

    AchievementPushGuardTests

    What a push owes before it sends anything, because the storefront checks nothing: a name it cannot use, a name two project achievements share, and a name the storefront itself lists twice.

    AchievementPushOutcomeTests

    Tests for AchievementPushOutcome: null-coalescing construction and defensive copying of the given lists.

    AchievementPushPlanExecutorTests

    Tests for AchievementPushPlanExecutor: ordering, which items produce work at all, per-field gating by acceptance (icons, localized text, and scalars), and pass-through of whatever platform identity extras the caller supplied.

    AchievementPushTextBaselineTests

    Tests for AchievementPushTextBaseline: a push saves the platform's current texts with the authored text laid over them only for the locales in scope, so a save never narrows what the platform holds.

    AchievementStorefrontIconTests

    The file extension a storefront names for an icon is data from the network: only the two image formats a pull writes survive, so no extension can reach a file path as anything else.

    AchievementStorefrontSnapshotJsonTests

    Round-trip and malformed-input tests for AchievementStorefrontSnapshotJson — the wire shape a sync connector reads and writes, and the permanent import/export format for a storefront snapshot.

    AchievementStorefrontSnapshotTests

    Tests for AchievementStorefrontSnapshot: deterministic record ordering and defensive copying of the lists handed to its constructor.

    AchievementSyncApplyReportTests

    Tests for AchievementSyncApplyReport: counts, severity flags, and the deterministic rendering an Serenity.Achievements.Infrastructure.Editor.Sync.AchievementSyncAssetWriter preview/apply run depends on to compare byte-for-byte.

    AchievementSyncCapabilitiesTests

    Tests for AchievementSyncCapabilities: the field/direction support matrix and locale restriction lookup the sync UI drives its checkboxes and disabled buttons from.

    AchievementSyncIconPullTests

    What a pull offers for icons: a missing one is an ordinary row, an existing one is only offered and never swept up by an accept-all, and nothing is offered the storefront or the connector cannot back.

    AchievementSyncKeyAdoptionPlanTests

    Tests for the key-adoption row AchievementSyncPlanner offers a pull on a matched achievement that holds literal text: when it appears, what it carries, and when it never does.

    AchievementSyncKeyCollisionsTests

    Which achievements of one pull would file their text under the same localization key, and what the author is told about them.

    AchievementSyncLocaleNoticesTests

    What a push says about the languages that cannot travel: the project's languages the storefront has no counterpart for, and the achievement that holds its text literally.

    AchievementSyncMissingLocalesTests

    Tests for the languages a pull points out: the ones the storefront holds text in that the project's collection has no table for — and the cases where the plan stays quiet.

    AchievementSyncPlannerTests

    Tests for AchievementSyncPlanner: field-by-field diffing, one-sided records, identity conflicts, unsupported fields and locales, icon comparison, deterministic ordering, and the plan's summary counts.

    AchievementSyncPulledTextNoticesTests

    A pulled text holding characters a game's text pipeline may read as markup is pointed out, never changed.

    AchievementSyncPushLocaleScopeTests

    Tests for AchievementSyncPushLocaleScope: an empty locale choice on a push means every authored locale, never none.

    AchievementSyncRecordTests

    Tests for AchievementSyncRecord: null-coalescing construction and defensive copying of PlatformExtras.

    AchievementSyncReviewSelectionTests

    Tests for AchievementSyncReviewSelection: which field changes an author has accepted, keyed by achievement, field and locale rather than by list position.

    AchievementSyncSelectionChangeKindTests

    An acceptance counts only for the kind of change it was given for, so an icon taken in one run never arrives already ticked as an offered row of the next.

    AchievementSyncStorefrontCopyTests

    The push-after-pull rule: an icon a pull brought in is the storefront's own recompressed copy, so a push leaves it alone while the storefront still serves that copy, instead of recompressing it again.

    CopilotWalkthroughProgressTests

    Tests for CopilotWalkthroughProgress: field/icon tick tracking and completion counting.

    LocalizedTextSetTests

    Tests for LocalizedTextSet: deterministic enumeration, value equality, lookups, and locale-code validation.

    In this article
    © 2026 Serenity. All Rights Reserved