osu/osu.Game.Tests/Visual/Editing
Dean Herbert 5a7d339cc8 Centralise and harden editor-ready-for-use check
Not only does this combine the check into one location, but it also adds
a check on the global `WorkingBeatmap` being updated, which is the only
way I can see the following failure happening:

```csharp
05:19:07     osu.Game.Tests: osu.Game.Tests.Visual.Editing.TestSceneEditorBeatmapCreation.TestAddAudioTrack
05:19:07       Failed TestAddAudioTrack [161 ms]
05:19:07       Error Message:
05:19:07        TearDown : System.NullReferenceException : Object reference not set to an instance of an object.
05:19:07       Stack Trace:
05:19:07       --TearDown
05:19:07        at osu.Game.Database.ModelManager`1.<>c__DisplayClass7_0.<AddFile>b__0(TModel managed) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 36
05:19:07        at osu.Game.Database.ModelManager`1.<>c__DisplayClass8_0.<performFileOperation>b__0(Realm realm) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 49
05:19:07        at osu.Game.Database.RealmExtensions.Write(Realm realm, Action`1 function) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\RealmExtensions.cs:line 14
05:19:07        at osu.Game.Database.ModelManager`1.performFileOperation(TModel item, Action`1 operation) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 46
05:19:07        at osu.Game.Database.ModelManager`1.AddFile(TModel item, Stream contents, String filename) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 36
05:19:07        at osu.Game.Screens.Edit.Setup.ResourcesSection.ChangeAudioTrack(FileInfo source) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Screens\Edit\Setup\ResourcesSection.cs:line 115
05:19:07        at osu.Game.Tests.Visual.Editing.TestSceneEditorBeatmapCreation.<TestAddAudioTrack>b__13_0() in C:\BuildAgent\work\ecd860037212ac52\osu.Game.Tests\Visual\Editing\TestSceneEditorBeatmapCreation.cs:line 101
05:19:07        at osu.Framework.Testing.Drawables.Steps.AssertButton.checkAssert()
05:19:07        at osu.Framework.Testing.Drawables.Steps.StepButton.PerformStep(Boolean userTriggered)
05:19:07        at osu.Framework.Testing.TestScene.runNextStep(Action onCompletion, Action`1 onError, Func`2 stopCondition)
```
2022-06-27 16:22:01 +09:00
..
TestSceneBeatDivisorControl.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneBlueprintOrdering.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneComposerSelection.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneComposeScreen.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneComposeSelectBox.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneDesignSection.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneDifficultySwitching.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneDistanceSnapGrid.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneEditorBeatmapCreation.cs Centralise and harden editor-ready-for-use check 2022-06-27 16:22:01 +09:00
TestSceneEditorChangeStates.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneEditorClipboard.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneEditorClock.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneEditorComposeRadioButtons.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneEditorMenuBar.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneEditorNavigation.cs Centralise and harden editor-ready-for-use check 2022-06-27 16:22:01 +09:00
TestSceneEditorSamplePlayback.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneEditorSaving.cs Convert == usages to ReferenceEquals 2022-06-20 16:56:19 +09:00
TestSceneEditorScreenModes.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneEditorSeeking.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneEditorSeekSnapping.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneEditorSummaryTimeline.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneEditorTestGameplay.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneHitObjectComposer.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneHitObjectDifficultyPointAdjustments.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneHitObjectSamplePointAdjustments.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneLabelledTimeSignature.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneMetadataSection.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestScenePlaybackControl.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneRectangularPositionSnapGrid.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneSetupScreen.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneTapButton.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneTapTimingControl.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneTimelineBlueprintContainer.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneTimelineHitObjectBlueprint.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneTimelineSelection.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneTimelineTickDisplay.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneTimelineZoom.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneTimingScreen.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneWaveform.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneZoomableScrollContainer.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TimelineTestScene.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00