TestSceneFrameStabilityContainer
FrameStableClock
FrameStabilityContainer
GameplayClockContainer
IGameplayClock
GameplayClock
GameplayClockContainer.GameplayClock
TestSceneEditorClock
ActionListener
KeysPerSecondCalculator
TestScenePlaylistOverlay
Removes the dual-purpose flow which existed only for testing.
DrawableCookieziRuleset
MockDrawableRuleset
Created private mock classes to use them in place of `GameplayClock` and `DrawableRuleset`.
Update multiple tests to use new assert output for easier to understand failures
Fix multi-spectator potentially getting stuck for passed players (hotfix)
ToolbarUserButton
TestSceneKeysPerSecondCounter
TestScenePreviewTrackManager
Unify implementations of deletion dialogs
Removing user triggers `playingUsers.Remove`, but doing so before updating the state leads to `EndGameplay` being called with `State == Playing` rather than `Quit`.
Show "locally modified" pill when local modifications have been made
There's multiple schedules at play which could be adding multi-frame delays. let's play it safe and try and fix flaky tests. Example of `Schedule` which could cause an issue: https://github.com/ppy/osu/blob/392cb352cc71da8b0f82aa0877ea6a7febfc54b1/osu.Game/Collections/CollectionDropdown.cs#L77-L78 Example of test failure: https://github.com/ppy/osu/runs/7648118894?check_suite_focus=true