2019-03-04 12:24:19 +08:00
|
|
|
// 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.
|
2018-10-14 17:09:22 +08:00
|
|
|
|
2020-03-11 14:34:52 +08:00
|
|
|
using System.Linq;
|
|
|
|
using NUnit.Framework;
|
2018-10-16 14:20:12 +08:00
|
|
|
using osu.Framework.Allocation;
|
2020-03-11 14:34:52 +08:00
|
|
|
using osu.Framework.Testing;
|
|
|
|
using osu.Game.Tournament.Components;
|
|
|
|
using osu.Game.Tournament.Models;
|
2018-11-06 13:49:09 +08:00
|
|
|
using osu.Game.Tournament.Screens.MapPool;
|
2018-10-14 17:09:22 +08:00
|
|
|
|
2019-06-18 14:28:36 +08:00
|
|
|
namespace osu.Game.Tournament.Tests.Screens
|
2018-10-14 17:09:22 +08:00
|
|
|
{
|
2019-06-18 14:28:36 +08:00
|
|
|
public class TestSceneMapPoolScreen : LadderTestScene
|
2018-10-14 17:09:22 +08:00
|
|
|
{
|
2020-03-11 14:34:52 +08:00
|
|
|
private MapPoolScreen screen;
|
2018-11-08 05:29:04 +08:00
|
|
|
|
2018-10-16 14:20:12 +08:00
|
|
|
[BackgroundDependencyLoader]
|
|
|
|
private void load()
|
2018-10-14 17:09:22 +08:00
|
|
|
{
|
2020-03-11 14:34:52 +08:00
|
|
|
Add(screen = new MapPoolScreen { Width = 0.7f });
|
|
|
|
}
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
public void TestFewMaps()
|
|
|
|
{
|
|
|
|
AddStep("load few maps", () =>
|
|
|
|
{
|
|
|
|
Ladder.CurrentMatch.Value.Round.Value.Beatmaps.Clear();
|
|
|
|
|
|
|
|
for (int i = 0; i < 8; i++)
|
|
|
|
addBeatmap();
|
|
|
|
});
|
|
|
|
|
|
|
|
AddStep("reset match", () =>
|
|
|
|
{
|
|
|
|
Ladder.CurrentMatch.Value = new TournamentMatch();
|
|
|
|
Ladder.CurrentMatch.Value = Ladder.Matches.First();
|
|
|
|
});
|
|
|
|
|
|
|
|
AddAssert("ensure layout width is 2", () => screen.ChildrenOfType<TournamentBeatmapPanel>().ElementAt(2).Y > 0);
|
|
|
|
}
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
public void TestManyMaps()
|
|
|
|
{
|
|
|
|
AddStep("load many maps", () =>
|
|
|
|
{
|
|
|
|
Ladder.CurrentMatch.Value.Round.Value.Beatmaps.Clear();
|
|
|
|
|
|
|
|
for (int i = 0; i < 17; i++)
|
|
|
|
addBeatmap();
|
|
|
|
});
|
|
|
|
|
|
|
|
AddStep("reset match", () =>
|
|
|
|
{
|
|
|
|
Ladder.CurrentMatch.Value = new TournamentMatch();
|
|
|
|
Ladder.CurrentMatch.Value = Ladder.Matches.First();
|
|
|
|
});
|
|
|
|
|
|
|
|
AddAssert("ensure layout width is 3", () => screen.ChildrenOfType<TournamentBeatmapPanel>().ElementAt(2).Y == 0);
|
|
|
|
}
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
public void TestManyMods()
|
|
|
|
{
|
|
|
|
AddStep("load many maps", () =>
|
|
|
|
{
|
|
|
|
Ladder.CurrentMatch.Value.Round.Value.Beatmaps.Clear();
|
|
|
|
|
|
|
|
for (int i = 0; i < 13; i++)
|
|
|
|
addBeatmap(i < 4 ? $"M{i}" : "NM");
|
|
|
|
});
|
|
|
|
|
|
|
|
AddStep("reset match", () =>
|
|
|
|
{
|
|
|
|
Ladder.CurrentMatch.Value = new TournamentMatch();
|
|
|
|
Ladder.CurrentMatch.Value = Ladder.Matches.First();
|
|
|
|
});
|
|
|
|
|
|
|
|
AddAssert("ensure layout width is 3", () => screen.ChildrenOfType<TournamentBeatmapPanel>().ElementAt(2).Y == 0);
|
|
|
|
}
|
|
|
|
|
|
|
|
private void addBeatmap(string mods = "nm")
|
|
|
|
{
|
|
|
|
Ladder.CurrentMatch.Value.Round.Value.Beatmaps.Add(new RoundBeatmap
|
|
|
|
{
|
|
|
|
BeatmapInfo = CreateSampleBeatmapInfo(),
|
|
|
|
Mods = mods
|
|
|
|
});
|
2018-10-14 17:09:22 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|