mirror of
https://github.com/ppy/osu.git
synced 2025-01-26 21:42:56 +08:00
Merge pull request #11197 from smoogipoo/refactor-multiplayer-test-scene
Refactor multiplayer test scenes
This commit is contained in:
commit
0abe2b36b2
@ -4,7 +4,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using osu.Framework.Graphics;
|
using osu.Framework.Graphics;
|
||||||
using osu.Game.Online.Multiplayer;
|
|
||||||
using osu.Game.Online.Multiplayer.RoomStatuses;
|
using osu.Game.Online.Multiplayer.RoomStatuses;
|
||||||
using osu.Game.Screens.Multi.Lounge.Components;
|
using osu.Game.Screens.Multi.Lounge.Components;
|
||||||
using osu.Game.Users;
|
using osu.Game.Users;
|
||||||
@ -14,10 +13,8 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
public class TestSceneLoungeRoomInfo : MultiplayerTestScene
|
public class TestSceneLoungeRoomInfo : MultiplayerTestScene
|
||||||
{
|
{
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public void Setup() => Schedule(() =>
|
public new void Setup() => Schedule(() =>
|
||||||
{
|
{
|
||||||
Room = new Room();
|
|
||||||
|
|
||||||
Child = new RoomInfo
|
Child = new RoomInfo
|
||||||
{
|
{
|
||||||
Anchor = Anchor.Centre,
|
Anchor = Anchor.Centre,
|
||||||
|
@ -24,10 +24,8 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
private RulesetStore rulesetStore { get; set; }
|
private RulesetStore rulesetStore { get; set; }
|
||||||
|
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public void Setup() => Schedule(() =>
|
public new void Setup() => Schedule(() =>
|
||||||
{
|
{
|
||||||
Room = new Room();
|
|
||||||
|
|
||||||
Child = new MatchBeatmapDetailArea
|
Child = new MatchBeatmapDetailArea
|
||||||
{
|
{
|
||||||
Anchor = Anchor.Centre,
|
Anchor = Anchor.Centre,
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||||
// See the LICENCE file in the repository root for full licence text.
|
// See the LICENCE file in the repository root for full licence text.
|
||||||
|
|
||||||
|
using NUnit.Framework;
|
||||||
using osu.Game.Beatmaps;
|
using osu.Game.Beatmaps;
|
||||||
using osu.Game.Online.Multiplayer;
|
using osu.Game.Online.Multiplayer;
|
||||||
using osu.Game.Rulesets.Osu;
|
using osu.Game.Rulesets.Osu;
|
||||||
@ -14,7 +15,12 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
{
|
{
|
||||||
public TestSceneMatchHeader()
|
public TestSceneMatchHeader()
|
||||||
{
|
{
|
||||||
Room = new Room();
|
Child = new Header();
|
||||||
|
}
|
||||||
|
|
||||||
|
[SetUp]
|
||||||
|
public new void Setup() => Schedule(() =>
|
||||||
|
{
|
||||||
Room.Playlist.Add(new PlaylistItem
|
Room.Playlist.Add(new PlaylistItem
|
||||||
{
|
{
|
||||||
Beatmap =
|
Beatmap =
|
||||||
@ -41,8 +47,6 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
|
|
||||||
Room.Name.Value = "A very awesome room";
|
Room.Name.Value = "A very awesome room";
|
||||||
Room.Host.Value = new User { Id = 2, Username = "peppy" };
|
Room.Host.Value = new User { Id = 2, Username = "peppy" };
|
||||||
|
});
|
||||||
Child = new Header();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,10 +3,10 @@
|
|||||||
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using NUnit.Framework;
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
using osu.Framework.Graphics;
|
using osu.Framework.Graphics;
|
||||||
using osu.Game.Online.API;
|
using osu.Game.Online.API;
|
||||||
using osu.Game.Online.Multiplayer;
|
|
||||||
using osu.Game.Screens.Multi.Match.Components;
|
using osu.Game.Screens.Multi.Match.Components;
|
||||||
using osu.Game.Users;
|
using osu.Game.Users;
|
||||||
using osuTK;
|
using osuTK;
|
||||||
@ -19,8 +19,6 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
|
|
||||||
public TestSceneMatchLeaderboard()
|
public TestSceneMatchLeaderboard()
|
||||||
{
|
{
|
||||||
Room = new Room { RoomID = { Value = 3 } };
|
|
||||||
|
|
||||||
Add(new MatchLeaderboard
|
Add(new MatchLeaderboard
|
||||||
{
|
{
|
||||||
Origin = Anchor.Centre,
|
Origin = Anchor.Centre,
|
||||||
@ -40,6 +38,12 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
api.Queue(req);
|
api.Queue(req);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[SetUp]
|
||||||
|
public new void Setup() => Schedule(() =>
|
||||||
|
{
|
||||||
|
Room.RoomID.Value = 3;
|
||||||
|
});
|
||||||
|
|
||||||
private class GetRoomScoresRequest : APIRequest<List<RoomScore>>
|
private class GetRoomScoresRequest : APIRequest<List<RoomScore>>
|
||||||
{
|
{
|
||||||
protected override string Target => "rooms/3/leaderboard";
|
protected override string Target => "rooms/3/leaderboard";
|
||||||
|
@ -23,10 +23,8 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
private TestRoomSettings settings;
|
private TestRoomSettings settings;
|
||||||
|
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public void Setup() => Schedule(() =>
|
public new void Setup() => Schedule(() =>
|
||||||
{
|
{
|
||||||
Room = new Room();
|
|
||||||
|
|
||||||
settings = new TestRoomSettings
|
settings = new TestRoomSettings
|
||||||
{
|
{
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
|
@ -14,7 +14,6 @@ using osu.Framework.Platform;
|
|||||||
using osu.Framework.Screens;
|
using osu.Framework.Screens;
|
||||||
using osu.Framework.Utils;
|
using osu.Framework.Utils;
|
||||||
using osu.Game.Beatmaps;
|
using osu.Game.Beatmaps;
|
||||||
using osu.Game.Online.Multiplayer;
|
|
||||||
using osu.Game.Rulesets;
|
using osu.Game.Rulesets;
|
||||||
using osu.Game.Rulesets.Mods;
|
using osu.Game.Rulesets.Mods;
|
||||||
using osu.Game.Rulesets.Osu;
|
using osu.Game.Rulesets.Osu;
|
||||||
@ -94,12 +93,6 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
AddUntilStep("wait for present", () => songSelect.IsCurrentScreen());
|
AddUntilStep("wait for present", () => songSelect.IsCurrentScreen());
|
||||||
}
|
}
|
||||||
|
|
||||||
[SetUp]
|
|
||||||
public void Setup() => Schedule(() =>
|
|
||||||
{
|
|
||||||
Room = new Room();
|
|
||||||
});
|
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void TestItemAddedIfEmptyOnStart()
|
public void TestItemAddedIfEmptyOnStart()
|
||||||
{
|
{
|
||||||
|
@ -45,12 +45,6 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
manager.Import(new TestBeatmap(new OsuRuleset().RulesetInfo).BeatmapInfo.BeatmapSet).Wait();
|
manager.Import(new TestBeatmap(new OsuRuleset().RulesetInfo).BeatmapInfo.BeatmapSet).Wait();
|
||||||
}
|
}
|
||||||
|
|
||||||
[SetUp]
|
|
||||||
public void Setup() => Schedule(() =>
|
|
||||||
{
|
|
||||||
Room = new Room();
|
|
||||||
});
|
|
||||||
|
|
||||||
[SetUpSteps]
|
[SetUpSteps]
|
||||||
public void SetupSteps()
|
public void SetupSteps()
|
||||||
{
|
{
|
||||||
|
@ -1,50 +0,0 @@
|
|||||||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
|
||||||
// See the LICENCE file in the repository root for full licence text.
|
|
||||||
|
|
||||||
using NUnit.Framework;
|
|
||||||
using osu.Framework.Graphics;
|
|
||||||
using osu.Game.Online.Multiplayer;
|
|
||||||
using osu.Game.Screens.Multi.Components;
|
|
||||||
using osuTK;
|
|
||||||
|
|
||||||
namespace osu.Game.Tests.Visual.Multiplayer
|
|
||||||
{
|
|
||||||
public class TestSceneOverlinedParticipants : MultiplayerTestScene
|
|
||||||
{
|
|
||||||
protected override bool UseOnlineAPI => true;
|
|
||||||
|
|
||||||
[SetUp]
|
|
||||||
public void Setup() => Schedule(() =>
|
|
||||||
{
|
|
||||||
Room = new Room { RoomID = { Value = 7 } };
|
|
||||||
});
|
|
||||||
|
|
||||||
[Test]
|
|
||||||
public void TestHorizontalLayout()
|
|
||||||
{
|
|
||||||
AddStep("create component", () =>
|
|
||||||
{
|
|
||||||
Child = new ParticipantsDisplay(Direction.Horizontal)
|
|
||||||
{
|
|
||||||
Anchor = Anchor.Centre,
|
|
||||||
Origin = Anchor.Centre,
|
|
||||||
Width = 500,
|
|
||||||
};
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
[Test]
|
|
||||||
public void TestVerticalLayout()
|
|
||||||
{
|
|
||||||
AddStep("create component", () =>
|
|
||||||
{
|
|
||||||
Child = new ParticipantsDisplay(Direction.Vertical)
|
|
||||||
{
|
|
||||||
Anchor = Anchor.Centre,
|
|
||||||
Origin = Anchor.Centre,
|
|
||||||
Size = new Vector2(500)
|
|
||||||
};
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,39 +0,0 @@
|
|||||||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
|
||||||
// See the LICENCE file in the repository root for full licence text.
|
|
||||||
|
|
||||||
using osu.Framework.Graphics;
|
|
||||||
using osu.Game.Online.Multiplayer;
|
|
||||||
using osu.Game.Rulesets.Osu;
|
|
||||||
using osu.Game.Screens.Multi;
|
|
||||||
using osu.Game.Tests.Beatmaps;
|
|
||||||
using osuTK;
|
|
||||||
|
|
||||||
namespace osu.Game.Tests.Visual.Multiplayer
|
|
||||||
{
|
|
||||||
public class TestSceneOverlinedPlaylist : MultiplayerTestScene
|
|
||||||
{
|
|
||||||
protected override bool UseOnlineAPI => true;
|
|
||||||
|
|
||||||
public TestSceneOverlinedPlaylist()
|
|
||||||
{
|
|
||||||
Room = new Room { RoomID = { Value = 7 } };
|
|
||||||
|
|
||||||
for (int i = 0; i < 10; i++)
|
|
||||||
{
|
|
||||||
Room.Playlist.Add(new PlaylistItem
|
|
||||||
{
|
|
||||||
ID = i,
|
|
||||||
Beatmap = { Value = new TestBeatmap(new OsuRuleset().RulesetInfo).BeatmapInfo },
|
|
||||||
Ruleset = { Value = new OsuRuleset().RulesetInfo }
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
Add(new DrawableRoomPlaylist(false, false)
|
|
||||||
{
|
|
||||||
Anchor = Anchor.Centre,
|
|
||||||
Origin = Anchor.Centre,
|
|
||||||
Size = new Vector2(500),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -3,24 +3,55 @@
|
|||||||
|
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using osu.Framework.Graphics;
|
using osu.Framework.Graphics;
|
||||||
using osu.Game.Online.Multiplayer;
|
|
||||||
using osu.Game.Screens.Multi.Components;
|
using osu.Game.Screens.Multi.Components;
|
||||||
|
using osu.Game.Users;
|
||||||
|
|
||||||
namespace osu.Game.Tests.Visual.Multiplayer
|
namespace osu.Game.Tests.Visual.Multiplayer
|
||||||
{
|
{
|
||||||
public class TestSceneParticipantsList : MultiplayerTestScene
|
public class TestSceneParticipantsList : MultiplayerTestScene
|
||||||
{
|
{
|
||||||
protected override bool UseOnlineAPI => true;
|
|
||||||
|
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public void Setup() => Schedule(() =>
|
public new void Setup() => Schedule(() =>
|
||||||
{
|
{
|
||||||
Room = new Room { RoomID = { Value = 7 } };
|
Room.RoomID.Value = 7;
|
||||||
|
|
||||||
|
for (int i = 0; i < 50; i++)
|
||||||
|
{
|
||||||
|
Room.RecentParticipants.Add(new User
|
||||||
|
{
|
||||||
|
Username = "peppy",
|
||||||
|
Id = 2
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
public TestSceneParticipantsList()
|
[Test]
|
||||||
|
public void TestHorizontalLayout()
|
||||||
{
|
{
|
||||||
Add(new ParticipantsList { RelativeSizeAxes = Axes.Both });
|
AddStep("create component", () =>
|
||||||
|
{
|
||||||
|
Child = new ParticipantsDisplay(Direction.Horizontal)
|
||||||
|
{
|
||||||
|
Anchor = Anchor.Centre,
|
||||||
|
Origin = Anchor.Centre,
|
||||||
|
Width = 0.2f,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void TestVerticalLayout()
|
||||||
|
{
|
||||||
|
AddStep("create component", () =>
|
||||||
|
{
|
||||||
|
Child = new ParticipantsDisplay(Direction.Vertical)
|
||||||
|
{
|
||||||
|
Anchor = Anchor.Centre,
|
||||||
|
Origin = Anchor.Centre,
|
||||||
|
Width = 0.2f,
|
||||||
|
Height = 0.2f,
|
||||||
|
};
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||||
// See the LICENCE file in the repository root for full licence text.
|
// See the LICENCE file in the repository root for full licence text.
|
||||||
|
|
||||||
|
using System;
|
||||||
using osu.Framework.Graphics;
|
using osu.Framework.Graphics;
|
||||||
using osu.Framework.Graphics.Containers;
|
using osu.Framework.Graphics.Containers;
|
||||||
using osu.Game.Online.Multiplayer;
|
using osu.Game.Online.Multiplayer;
|
||||||
@ -22,18 +23,21 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
new DrawableRoom(new Room
|
new DrawableRoom(new Room
|
||||||
{
|
{
|
||||||
Name = { Value = "Room 1" },
|
Name = { Value = "Room 1" },
|
||||||
Status = { Value = new RoomStatusOpen() }
|
Status = { Value = new RoomStatusOpen() },
|
||||||
}),
|
EndDate = { Value = DateTimeOffset.Now.AddDays(1) }
|
||||||
|
}) { MatchingFilter = true },
|
||||||
new DrawableRoom(new Room
|
new DrawableRoom(new Room
|
||||||
{
|
{
|
||||||
Name = { Value = "Room 2" },
|
Name = { Value = "Room 2" },
|
||||||
Status = { Value = new RoomStatusPlaying() }
|
Status = { Value = new RoomStatusPlaying() },
|
||||||
}),
|
EndDate = { Value = DateTimeOffset.Now.AddDays(1) }
|
||||||
|
}) { MatchingFilter = true },
|
||||||
new DrawableRoom(new Room
|
new DrawableRoom(new Room
|
||||||
{
|
{
|
||||||
Name = { Value = "Room 3" },
|
Name = { Value = "Room 3" },
|
||||||
Status = { Value = new RoomStatusEnded() }
|
Status = { Value = new RoomStatusEnded() },
|
||||||
}),
|
EndDate = { Value = DateTimeOffset.Now }
|
||||||
|
}) { MatchingFilter = true },
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||||
// See the LICENCE file in the repository root for full licence text.
|
// See the LICENCE file in the repository root for full licence text.
|
||||||
|
|
||||||
|
using NUnit.Framework;
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
using osu.Framework.Bindables;
|
using osu.Framework.Bindables;
|
||||||
using osu.Game.Online.Multiplayer;
|
using osu.Game.Online.Multiplayer;
|
||||||
@ -12,11 +13,7 @@ namespace osu.Game.Tests.Visual
|
|||||||
[Cached]
|
[Cached]
|
||||||
private readonly Bindable<Room> currentRoom = new Bindable<Room>();
|
private readonly Bindable<Room> currentRoom = new Bindable<Room>();
|
||||||
|
|
||||||
protected Room Room
|
protected Room Room => currentRoom.Value;
|
||||||
{
|
|
||||||
get => currentRoom.Value;
|
|
||||||
set => currentRoom.Value = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
private CachedModelDependencyContainer<Room> dependencies;
|
private CachedModelDependencyContainer<Room> dependencies;
|
||||||
|
|
||||||
@ -26,5 +23,11 @@ namespace osu.Game.Tests.Visual
|
|||||||
dependencies.Model.BindTo(currentRoom);
|
dependencies.Model.BindTo(currentRoom);
|
||||||
return dependencies;
|
return dependencies;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[SetUp]
|
||||||
|
public void Setup() => Schedule(() =>
|
||||||
|
{
|
||||||
|
currentRoom.Value = new Room();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user