mirror of
https://github.com/ppy/osu.git
synced 2025-01-13 17:13:06 +08:00
Create basic testing setup
This commit is contained in:
parent
ac4671c594
commit
82a27c73a0
@ -2,6 +2,9 @@
|
||||
// See the LICENCE file in the repository root for full licence text.
|
||||
|
||||
using NUnit.Framework;
|
||||
using osu.Framework.Allocation;
|
||||
using osu.Game.Online.Spectator;
|
||||
using osu.Game.Replays.Legacy;
|
||||
using osu.Game.Screens.Play;
|
||||
using osu.Game.Users;
|
||||
|
||||
@ -9,12 +12,34 @@ namespace osu.Game.Tests.Visual.Gameplay
|
||||
{
|
||||
public class TestSceneSpectator : ScreenTestScene
|
||||
{
|
||||
private readonly User user = new User { Id = 1234, Username = "Test user" };
|
||||
[Cached(typeof(SpectatorStreamingClient))]
|
||||
private TestSpectatorStreamingClient testSpectatorStreamingClient = new TestSpectatorStreamingClient();
|
||||
|
||||
[Test]
|
||||
public void TestSpectating()
|
||||
{
|
||||
AddStep("load screen", () => LoadScreen(new Spectator(user)));
|
||||
AddStep("load screen", () => LoadScreen(new Spectator(testSpectatorStreamingClient.StreamingUser)));
|
||||
AddStep("start play", () => testSpectatorStreamingClient.StartPlay());
|
||||
AddStep("send frames", () => testSpectatorStreamingClient.SendFrames());
|
||||
}
|
||||
|
||||
internal class TestSpectatorStreamingClient : SpectatorStreamingClient
|
||||
{
|
||||
public readonly User StreamingUser = new User { Id = 1234, Username = "Test user" };
|
||||
|
||||
public void StartPlay()
|
||||
{
|
||||
((ISpectatorClient)this).UserBeganPlaying((int)StreamingUser.Id, new SpectatorState());
|
||||
}
|
||||
|
||||
public void SendFrames()
|
||||
{
|
||||
((ISpectatorClient)this).UserSentFrames((int)StreamingUser.Id, new FrameDataBundle(new[]
|
||||
{
|
||||
// todo: populate more frames
|
||||
new LegacyReplayFrame(0, 0, 0, ReplayButtonState.Left1)
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user