Class AchievementAuthoringJudgeTests
EditMode tests for what the Studio and the project validator do when the authoring rules throw.
Inherited Members
Namespace: Serenity.UnityAchievements.Tests.Editor
Assembly: Tests.Editor.dll
Syntax
public class AchievementAuthoringJudgeTests
Remarks
This is the whole reason the seam exists. The rules walk an authored [SerializeReference] graph,
so the data that makes them throw is a corrupted asset — which cannot be written to disk from a test
without becoming a corrupted asset in the repository. Injecting a rules delegate that throws tests the
isolation for what it is: a decision about what to do when a call fails.
Constructors
AchievementAuthoringJudgeTests()
Declaration
public AchievementAuthoringJudgeTests()
Methods
DescribeFailure_NamesTheTypeAndTheMessage()
Declaration
public void DescribeFailure_NamesTheTypeAndTheMessage()
DescribeFailure_StillSaysSomethingAboutAFailureWithNoMessage()
Declaration
public void DescribeFailure_StillSaysSomethingAboutAFailureWithNoMessage()
DestroyCreatedDefinitions()
Declaration
public void DestroyCreatedDefinitions()
JudgeAll_AnswersOncePerAchievementInTheOrderGiven()
Declaration
public void JudgeAll_AnswersOncePerAchievementInTheOrderGiven()
JudgeAll_AnswersWithNothingWhenThereIsNothingToJudge()
Declaration
public void JudgeAll_AnswersWithNothingWhenThereIsNothingToJudge()
JudgeAll_HandsEachAchievementTheFindingsStampedWithItsOwnPosition()
Declaration
public void JudgeAll_HandsEachAchievementTheFindingsStampedWithItsOwnPosition()
JudgeAll_IgnoresFindingsStampedWithAPositionThatIsNotInTheList()
Declaration
public void JudgeAll_IgnoresFindingsStampedWithAPositionThatIsNotInTheList()
JudgeAll_IsolatesTheOneAchievementThatThrowsAndStillJudgesTheRest()
The failure this whole type exists for: one achievement that throws must not leave its caller reporting a project on which nothing is wrong.
Declaration
public void JudgeAll_IsolatesTheOneAchievementThatThrowsAndStillJudgesTheRest()
JudgeAll_KeepsEveryRowJudgedWhenOnlyTheWholeProjectPassThrows()
When nothing reproduces on its own, what broke was the pass. Marking every row failed would be a louder lie than the console line the judge writes instead — the findings just computed are real.
Declaration
public void JudgeAll_KeepsEveryRowJudgedWhenOnlyTheWholeProjectPassThrows()
JudgeAll_KeepsTheFindingsOfTheAchievementsThatSurvivedTheFallback()
Declaration
public void JudgeAll_KeepsTheFindingsOfTheAchievementsThatSurvivedTheFallback()
Of_HoldsNoFindingsRatherThanNothingAtAll()
Declaration
public void Of_HoldsNoFindingsRatherThanNothingAtAll()
Refused_NamesAReasonEvenWhenItWasGivenNone()
Declaration
public void Refused_NamesAReasonEvenWhenItWasGivenNone()