logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class AchievementsStudioRowModelTests

    EditMode tests for the row the Achievements Studio's list draws. The drawing is not under test — IMGUI is not a unit; what is testable, and what actually decides whether a row is readable, is the reduction from an achievement plus its findings to the badges, the coverage and the severity dot.

    Inheritance
    object
    AchievementsStudioRowModelTests
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.UnityAchievements.Tests.Editor
    Assembly: Tests.Editor.dll
    Syntax
    public class AchievementsStudioRowModelTests

    Constructors

    AchievementsStudioRowModelTests()

    Declaration
    public AchievementsStudioRowModelTests()

    Methods

    BuildAll_AnswersWithNothingWhenTheProjectHasNoAchievements()

    Declaration
    public void BuildAll_AnswersWithNothingWhenTheProjectHasNoAchievements()

    BuildAll_GivesEachAchievementOnlyItsOwnFindings()

    The point of the single rules pass: every achievement is judged, and each one keeps only what was said about it. A bucketing mistake shows up as one row wearing another row's dot.

    Declaration
    public void BuildAll_GivesEachAchievementOnlyItsOwnFindings()

    BuildAll_SkipsMissingEntriesRatherThanFailingOnThem()

    Declaration
    public void BuildAll_SkipsMissingEntriesRatherThanFailingOnThem()

    ContainsLowercase_MatchesTheIdTheNameKeyAndTheConditionSummary()

    Declaration
    public void ContainsLowercase_MatchesTheIdTheNameKeyAndTheConditionSummary()

    DestroyCreatedDefinitions()

    Declaration
    public void DestroyCreatedDefinitions()

    From_AnswersWithNothingWhenThereIsNoAchievement()

    Declaration
    public void From_AnswersWithNothingWhenThereIsNoAchievement()

    From_CarriesTheFailureOfARefusedJudgement()

    Declaration
    public void From_CarriesTheFailureOfARefusedJudgement()

    From_ClaimsNothingAboutAnAchievementItCouldNotRead()

    Declaration
    public void From_ClaimsNothingAboutAnAchievementItCouldNotRead()

    From_ReadsTheBadgeFactsOffTheAchievement()

    Declaration
    public void From_ReadsTheBadgeFactsOffTheAchievement()

    From_StopsCallingAnAchievementCodeUnlockedOnceItHasACondition()

    Declaration
    public void From_StopsCallingAnAchievementCodeUnlockedOnceItHasACondition()

    From_SummarisesAnAbsentConditionThroughTheSharedSummary()

    Declaration
    public void From_SummarisesAnAbsentConditionThroughTheSharedSummary()

    From_TreatsAReachedJudgementAsNormal()

    Declaration
    public void From_TreatsAReachedJudgementAsNormal()

    From_TreatsAZeroProgressTargetAsASingleStepAchievement()

    Declaration
    public void From_TreatsAZeroProgressTargetAsASingleStepAchievement()

    From_TurnsAThrowingSummaryIntoOneFailedRowRatherThanPropagating()

    The failure mode this guards against: one hand-edited condition tree that throws while being described would otherwise take the whole list with it, and a Studio that will not open is a worse answer than a Studio with one row that says what is wrong.

    Declaration
    public void From_TurnsAThrowingSummaryIntoOneFailedRowRatherThanPropagating()

    PlatformCoverage_IsEmptyForALocalOnlyProjectWithNoIdentifiers()

    The whole reason coverage carries two booleans: a project that ships nowhere must not have every one of its achievements painted with four complaints it cannot act on.

    Declaration
    public void PlatformCoverage_IsEmptyForALocalOnlyProjectWithNoIdentifiers()

    PlatformCoverage_KeepsTheStorefrontsInReadingOrder()

    Declaration
    public void PlatformCoverage_KeepsTheStorefrontsInReadingOrder()

    PlatformCoverage_ReportsAMissingIdentifierOnlyForAStorefrontTheProjectShipsOn()

    Declaration
    public void PlatformCoverage_ReportsAMissingIdentifierOnlyForAStorefrontTheProjectShipsOn()

    PlatformCoverage_StillShowsAnIdentifierLeftBehindByADroppedStorefront()

    Declaration
    public void PlatformCoverage_StillShowsAnIdentifierLeftBehindByADroppedStorefront()

    Severity_IsNothingAtAllWhenTheRulesHadNothingToSay()

    Declaration
    public void Severity_IsNothingAtAllWhenTheRulesHadNothingToSay()

    Severity_IsTheWorstFindingAboutTheAchievement()

    Declaration
    public void Severity_IsTheWorstFindingAboutTheAchievement()

    Title_DoesNotRepeatANameKeyThatIsJustTheId()

    Declaration
    public void Title_DoesNotRepeatANameKeyThatIsJustTheId()

    Title_PairsTheIdWithTheNameKey()

    Declaration
    public void Title_PairsTheIdWithTheNameKey()

    Title_SaysSoWhenTheAchievementHasNoIdYet()

    Declaration
    public void Title_SaysSoWhenTheAchievementHasNoIdYet()
    In this article
    © 2026 Serenity. All Rights Reserved