Class AchievementServiceConcurrencyTests
Tests that the service's mutation gate actually serializes overlapping calls. Every one of
these fails without it, because each mutation is a check-then-act sequence that spans an
await: the second caller reads the state the first one has not written back yet.
Inheritance
AchievementServiceConcurrencyTests
Assembly: Tests.dll
Syntax
public class AchievementServiceConcurrencyTests
Constructors
AchievementServiceConcurrencyTests()
Declaration
public AchievementServiceConcurrencyTests()
Methods
ConcurrentIncrementsThatCompleteTheTarget_UnlockOnce()
Declaration
public Task ConcurrentIncrementsThatCompleteTheTarget_UnlockOnce()
Returns
ManyConcurrentUnlocksOfTheSameAchievement_ProduceExactlyOneSignal()
Declaration
public Task ManyConcurrentUnlocksOfTheSameAchievement_ProduceExactlyOneSignal()
Returns
ManyInterleavedIncrements_AllLand()
Declaration
public Task ManyInterleavedIncrements_AllLand()
Returns
ResetRacingAnUnlock_LeavesAConsistentState()
Declaration
public Task ResetRacingAnUnlock_LeavesAConsistentState()
Returns
TwoConcurrentUnlocksOfTheSameAchievement_ProduceExactlyOneSignal()
Declaration
public Task TwoConcurrentUnlocksOfTheSameAchievement_ProduceExactlyOneSignal()
Returns
TwoInterleavedIncrements_BothLand()
Declaration
public Task TwoInterleavedIncrements_BothLand()
Returns