diff --git a/osu.Game.Tests/Visual/Multiplayer/TestSceneLoungeRoomsContainer.cs b/osu.Game.Tests/Visual/Multiplayer/TestSceneLoungeRoomsContainer.cs
index 1bdf3c2750..c3d5f7ec23 100644
--- a/osu.Game.Tests/Visual/Multiplayer/TestSceneLoungeRoomsContainer.cs
+++ b/osu.Game.Tests/Visual/Multiplayer/TestSceneLoungeRoomsContainer.cs
@@ -19,7 +19,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
{
public class TestSceneLoungeRoomsContainer : OnlinePlayTestScene
{
- protected new TestRequestHandlingRoomManager RoomManager => (TestRequestHandlingRoomManager)base.RoomManager;
+ protected new TestRoomManager RoomManager => (TestRoomManager)base.RoomManager;
private RoomsContainer container;
diff --git a/osu.Game.Tests/Visual/Multiplayer/TestSceneMultiplayer.cs b/osu.Game.Tests/Visual/Multiplayer/TestSceneMultiplayer.cs
index f4a72dd7e7..bb4603da69 100644
--- a/osu.Game.Tests/Visual/Multiplayer/TestSceneMultiplayer.cs
+++ b/osu.Game.Tests/Visual/Multiplayer/TestSceneMultiplayer.cs
@@ -4,6 +4,7 @@
using System;
using System.Diagnostics;
using System.Linq;
+using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;
using NUnit.Framework;
using osu.Framework.Allocation;
using osu.Framework.Audio;
@@ -48,7 +49,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
private TestMultiplayer multiplayerScreen;
private TestMultiplayerClient client;
- private TestRequestHandlingMultiplayerRoomManager roomManager => multiplayerScreen.RoomManager;
+ private TestMultiplayerRoomManager roomManager => multiplayerScreen.RoomManager;
[Cached(typeof(UserLookupCache))]
private UserLookupCache lookupCache = new TestUserLookupCache();
@@ -624,9 +625,9 @@ namespace osu.Game.Tests.Visual.Multiplayer
private class TestMultiplayer : Screens.OnlinePlay.Multiplayer.Multiplayer
{
- public new TestRequestHandlingMultiplayerRoomManager RoomManager { get; private set; }
+ public new TestMultiplayerRoomManager RoomManager { get; private set; }
- protected override RoomManager CreateRoomManager() => RoomManager = new TestRequestHandlingMultiplayerRoomManager();
+ protected override RoomManager CreateRoomManager() => RoomManager = new TestMultiplayerRoomManager();
}
}
}
diff --git a/osu.Game.Tests/Visual/Multiplayer/TestSceneMultiplayerLoungeSubScreen.cs b/osu.Game.Tests/Visual/Multiplayer/TestSceneMultiplayerLoungeSubScreen.cs
index b7da31a2b5..de3df754a2 100644
--- a/osu.Game.Tests/Visual/Multiplayer/TestSceneMultiplayerLoungeSubScreen.cs
+++ b/osu.Game.Tests/Visual/Multiplayer/TestSceneMultiplayerLoungeSubScreen.cs
@@ -18,7 +18,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
{
public class TestSceneMultiplayerLoungeSubScreen : OnlinePlayTestScene
{
- protected new TestRequestHandlingRoomManager RoomManager => (TestRequestHandlingRoomManager)base.RoomManager;
+ protected new TestRoomManager RoomManager => (TestRoomManager)base.RoomManager;
private LoungeSubScreen loungeScreen;
diff --git a/osu.Game.Tests/Visual/Multiplayer/TestSceneTeamVersus.cs b/osu.Game.Tests/Visual/Multiplayer/TestSceneTeamVersus.cs
index 80217a7726..7b34150610 100644
--- a/osu.Game.Tests/Visual/Multiplayer/TestSceneTeamVersus.cs
+++ b/osu.Game.Tests/Visual/Multiplayer/TestSceneTeamVersus.cs
@@ -184,9 +184,9 @@ namespace osu.Game.Tests.Visual.Multiplayer
private class TestMultiplayer : Screens.OnlinePlay.Multiplayer.Multiplayer
{
- public new TestRequestHandlingMultiplayerRoomManager RoomManager { get; private set; }
+ public new TestMultiplayerRoomManager RoomManager { get; private set; }
- protected override RoomManager CreateRoomManager() => RoomManager = new TestRequestHandlingMultiplayerRoomManager();
+ protected override RoomManager CreateRoomManager() => RoomManager = new TestMultiplayerRoomManager();
}
}
}
diff --git a/osu.Game.Tests/Visual/Navigation/TestSceneScreenNavigation.cs b/osu.Game.Tests/Visual/Navigation/TestSceneScreenNavigation.cs
index ce437e7299..87223a3eca 100644
--- a/osu.Game.Tests/Visual/Navigation/TestSceneScreenNavigation.cs
+++ b/osu.Game.Tests/Visual/Navigation/TestSceneScreenNavigation.cs
@@ -461,10 +461,10 @@ namespace osu.Game.Tests.Visual.Navigation
public TestMultiplayer()
{
- Client = new TestMultiplayerClient((TestRequestHandlingMultiplayerRoomManager)RoomManager);
+ Client = new TestMultiplayerClient((TestMultiplayerRoomManager)RoomManager);
}
- protected override RoomManager CreateRoomManager() => new TestRequestHandlingMultiplayerRoomManager();
+ protected override RoomManager CreateRoomManager() => new TestMultiplayerRoomManager();
}
}
}
diff --git a/osu.Game.Tests/Visual/Playlists/TestScenePlaylistsLoungeSubScreen.cs b/osu.Game.Tests/Visual/Playlists/TestScenePlaylistsLoungeSubScreen.cs
index 5c248163d7..9ba0da1911 100644
--- a/osu.Game.Tests/Visual/Playlists/TestScenePlaylistsLoungeSubScreen.cs
+++ b/osu.Game.Tests/Visual/Playlists/TestScenePlaylistsLoungeSubScreen.cs
@@ -17,7 +17,7 @@ namespace osu.Game.Tests.Visual.Playlists
{
public class TestScenePlaylistsLoungeSubScreen : OnlinePlayTestScene
{
- protected new TestRequestHandlingRoomManager RoomManager => (TestRequestHandlingRoomManager)base.RoomManager;
+ protected new TestRoomManager RoomManager => (TestRoomManager)base.RoomManager;
private TestLoungeSubScreen loungeScreen;
diff --git a/osu.Game/Tests/Visual/Multiplayer/IMultiplayerTestSceneDependencies.cs b/osu.Game/Tests/Visual/Multiplayer/IMultiplayerTestSceneDependencies.cs
index 3362ebbbd6..204c189591 100644
--- a/osu.Game/Tests/Visual/Multiplayer/IMultiplayerTestSceneDependencies.cs
+++ b/osu.Game/Tests/Visual/Multiplayer/IMultiplayerTestSceneDependencies.cs
@@ -22,7 +22,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
///
/// The cached .
///
- new TestRequestHandlingMultiplayerRoomManager RoomManager { get; }
+ new TestMultiplayerRoomManager RoomManager { get; }
///
/// The cached .
diff --git a/osu.Game/Tests/Visual/Multiplayer/MultiplayerTestScene.cs b/osu.Game/Tests/Visual/Multiplayer/MultiplayerTestScene.cs
index f259784170..c628541825 100644
--- a/osu.Game/Tests/Visual/Multiplayer/MultiplayerTestScene.cs
+++ b/osu.Game/Tests/Visual/Multiplayer/MultiplayerTestScene.cs
@@ -18,7 +18,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
public const int PLAYER_2_ID = 56;
public TestMultiplayerClient Client => OnlinePlayDependencies.Client;
- public new TestRequestHandlingMultiplayerRoomManager RoomManager => OnlinePlayDependencies.RoomManager;
+ public new TestMultiplayerRoomManager RoomManager => OnlinePlayDependencies.RoomManager;
public TestUserLookupCache LookupCache => OnlinePlayDependencies?.LookupCache;
public TestSpectatorClient SpectatorClient => OnlinePlayDependencies?.SpectatorClient;
@@ -35,12 +35,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
public new void Setup() => Schedule(() =>
{
if (joinRoom)
- {
- var room = CreateRoom();
-
- RoomManager.CreateRoom(room);
- SelectedRoom.Value = room;
- }
+ SelectedRoom.Value = CreateRoom();
});
protected virtual Room CreateRoom()
@@ -64,7 +59,10 @@ namespace osu.Game.Tests.Visual.Multiplayer
base.SetUpSteps();
if (joinRoom)
+ {
+ AddStep("join room", () => RoomManager.CreateRoom(SelectedRoom.Value));
AddUntilStep("wait for room join", () => Client.Room != null);
+ }
}
protected override OnlinePlayTestSceneDependencies CreateOnlinePlayDependencies() => new MultiplayerTestSceneDependencies();
diff --git a/osu.Game/Tests/Visual/Multiplayer/MultiplayerTestSceneDependencies.cs b/osu.Game/Tests/Visual/Multiplayer/MultiplayerTestSceneDependencies.cs
index 2e13fb6a56..a2b0b066a7 100644
--- a/osu.Game/Tests/Visual/Multiplayer/MultiplayerTestSceneDependencies.cs
+++ b/osu.Game/Tests/Visual/Multiplayer/MultiplayerTestSceneDependencies.cs
@@ -18,7 +18,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
public TestMultiplayerClient Client { get; }
public TestUserLookupCache LookupCache { get; }
public TestSpectatorClient SpectatorClient { get; }
- public new TestRequestHandlingMultiplayerRoomManager RoomManager => (TestRequestHandlingMultiplayerRoomManager)base.RoomManager;
+ public new TestMultiplayerRoomManager RoomManager => (TestMultiplayerRoomManager)base.RoomManager;
public MultiplayerTestSceneDependencies()
{
@@ -31,7 +31,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
CacheAs(SpectatorClient);
}
- protected override IRoomManager CreateRoomManager() => new TestRequestHandlingMultiplayerRoomManager();
+ protected override IRoomManager CreateRoomManager() => new TestMultiplayerRoomManager();
protected virtual TestSpectatorClient CreateSpectatorClient() => new TestSpectatorClient();
}
diff --git a/osu.Game/Tests/Visual/Multiplayer/TestMultiplayerClient.cs b/osu.Game/Tests/Visual/Multiplayer/TestMultiplayerClient.cs
index 5e4e5942d9..cd0f070d73 100644
--- a/osu.Game/Tests/Visual/Multiplayer/TestMultiplayerClient.cs
+++ b/osu.Game/Tests/Visual/Multiplayer/TestMultiplayerClient.cs
@@ -39,9 +39,9 @@ namespace osu.Game.Tests.Visual.Multiplayer
[Resolved]
private BeatmapManager beatmaps { get; set; } = null!;
- private readonly TestRequestHandlingMultiplayerRoomManager roomManager;
+ private readonly TestMultiplayerRoomManager roomManager;
- public TestMultiplayerClient(TestRequestHandlingMultiplayerRoomManager roomManager)
+ public TestMultiplayerClient(TestMultiplayerRoomManager roomManager)
{
this.roomManager = roomManager;
}
diff --git a/osu.Game/Tests/Visual/Multiplayer/TestRequestHandlingMultiplayerRoomManager.cs b/osu.Game/Tests/Visual/Multiplayer/TestMultiplayerRoomManager.cs
similarity index 56%
rename from osu.Game/Tests/Visual/Multiplayer/TestRequestHandlingMultiplayerRoomManager.cs
rename to osu.Game/Tests/Visual/Multiplayer/TestMultiplayerRoomManager.cs
index 5de518990a..fef2a0a16d 100644
--- a/osu.Game/Tests/Visual/Multiplayer/TestRequestHandlingMultiplayerRoomManager.cs
+++ b/osu.Game/Tests/Visual/Multiplayer/TestMultiplayerRoomManager.cs
@@ -3,7 +3,6 @@
using System.Collections.Generic;
using osu.Framework.Allocation;
-using osu.Game.Online.API;
using osu.Game.Online.Rooms;
using osu.Game.Screens.OnlinePlay.Components;
using osu.Game.Screens.OnlinePlay.Multiplayer;
@@ -12,25 +11,20 @@ using osu.Game.Tests.Visual.OnlinePlay;
namespace osu.Game.Tests.Visual.Multiplayer
{
///
- /// A for use in multiplayer test scenes, backed by a .
+ /// A for use in multiplayer test scenes.
/// Should generally not be used by itself outside of a .
///
- public class TestRequestHandlingMultiplayerRoomManager : MultiplayerRoomManager
+ public class TestMultiplayerRoomManager : MultiplayerRoomManager
{
- public IReadOnlyList ServerSideRooms => handler.ServerSideRooms;
+ [Resolved]
+ private TestRoomRequestsHandler requestsHandler { get; set; }
- private readonly TestRoomRequestsHandler handler = new TestRoomRequestsHandler();
-
- [BackgroundDependencyLoader]
- private void load(IAPIProvider api, OsuGameBase game)
- {
- ((DummyAPIAccess)api).HandleRequest = request => handler.HandleRequest(request, api.LocalUser.Value, game);
- }
+ public IReadOnlyList ServerSideRooms => requestsHandler.ServerSideRooms;
///
/// Adds a room to a local "server-side" list that's returned when a is fired.
///
/// The room.
- public void AddServerSideRoom(Room room) => handler.AddServerSideRoom(room);
+ public void AddServerSideRoom(Room room) => requestsHandler.AddServerSideRoom(room);
}
}
diff --git a/osu.Game/Tests/Visual/OnlinePlay/OnlinePlayTestScene.cs b/osu.Game/Tests/Visual/OnlinePlay/OnlinePlayTestScene.cs
index d782160ee5..4771ace1c4 100644
--- a/osu.Game/Tests/Visual/OnlinePlay/OnlinePlayTestScene.cs
+++ b/osu.Game/Tests/Visual/OnlinePlay/OnlinePlayTestScene.cs
@@ -36,7 +36,6 @@ namespace osu.Game.Tests.Visual.OnlinePlay
private readonly Container content;
private readonly Container drawableDependenciesContainer;
private DelegatedDependencyContainer dependencies;
- private TestRoomRequestsHandler requestsHandler;
protected OnlinePlayTestScene()
{
@@ -65,12 +64,7 @@ namespace osu.Game.Tests.Visual.OnlinePlay
public override void SetUpSteps()
{
base.SetUpSteps();
-
- AddStep("setup API", () =>
- {
- requestsHandler = new TestRoomRequestsHandler();
- ((DummyAPIAccess)API).HandleRequest = request => requestsHandler.HandleRequest(request, API.LocalUser.Value, game);
- });
+ AddStep("setup API", () => ((DummyAPIAccess)API).HandleRequest = request => OnlinePlayDependencies.RequestsHandler.HandleRequest(request, API.LocalUser.Value, game));
}
///
diff --git a/osu.Game/Tests/Visual/OnlinePlay/OnlinePlayTestSceneDependencies.cs b/osu.Game/Tests/Visual/OnlinePlay/OnlinePlayTestSceneDependencies.cs
index defc971eef..9e5264fb12 100644
--- a/osu.Game/Tests/Visual/OnlinePlay/OnlinePlayTestSceneDependencies.cs
+++ b/osu.Game/Tests/Visual/OnlinePlay/OnlinePlayTestSceneDependencies.cs
@@ -21,6 +21,7 @@ namespace osu.Game.Tests.Visual.OnlinePlay
public IRoomManager RoomManager { get; }
public OngoingOperationTracker OngoingOperationTracker { get; }
public OnlinePlayBeatmapAvailabilityTracker AvailabilityTracker { get; }
+ public TestRoomRequestsHandler RequestsHandler { get; }
///
/// All cached dependencies which are also components.
@@ -36,9 +37,11 @@ namespace osu.Game.Tests.Visual.OnlinePlay
RoomManager = CreateRoomManager();
OngoingOperationTracker = new OngoingOperationTracker();
AvailabilityTracker = new OnlinePlayBeatmapAvailabilityTracker();
+ RequestsHandler = new TestRoomRequestsHandler();
dependencies = new DependencyContainer(new CachedModelDependencyContainer(null) { Model = { BindTarget = SelectedRoom } });
+ CacheAs(RequestsHandler);
CacheAs(SelectedRoom);
CacheAs(RoomManager);
CacheAs(OngoingOperationTracker);
@@ -71,6 +74,6 @@ namespace osu.Game.Tests.Visual.OnlinePlay
drawableComponents.Add(drawable);
}
- protected virtual IRoomManager CreateRoomManager() => new TestRequestHandlingRoomManager();
+ protected virtual IRoomManager CreateRoomManager() => new TestRoomManager();
}
}
diff --git a/osu.Game/Tests/Visual/OnlinePlay/TestRequestHandlingRoomManager.cs b/osu.Game/Tests/Visual/OnlinePlay/TestRoomManager.cs
similarity index 97%
rename from osu.Game/Tests/Visual/OnlinePlay/TestRequestHandlingRoomManager.cs
rename to osu.Game/Tests/Visual/OnlinePlay/TestRoomManager.cs
index ef0ceafd02..5fe3dc8406 100644
--- a/osu.Game/Tests/Visual/OnlinePlay/TestRequestHandlingRoomManager.cs
+++ b/osu.Game/Tests/Visual/OnlinePlay/TestRoomManager.cs
@@ -13,7 +13,7 @@ namespace osu.Game.Tests.Visual.OnlinePlay
///
/// A very simple for use in online play test scenes.
///
- public class TestRequestHandlingRoomManager : RoomManager
+ public class TestRoomManager : RoomManager
{
public Action JoinRoomRequested;