2020-08-17 16:40:55 +00: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.
|
|
|
|
|
|
|
|
using NUnit.Framework;
|
2024-07-01 05:58:32 +00:00
|
|
|
using osu.Game.Beatmaps;
|
|
|
|
using osu.Game.Beatmaps.Timing;
|
2020-08-17 16:40:55 +00:00
|
|
|
using osu.Game.Rulesets.Mania.Mods;
|
|
|
|
using osu.Game.Tests.Visual;
|
|
|
|
|
|
|
|
namespace osu.Game.Rulesets.Mania.Tests.Mods
|
|
|
|
{
|
|
|
|
public partial class TestSceneManiaModInvert : ModTestScene
|
|
|
|
{
|
|
|
|
protected override Ruleset CreatePlayerRuleset() => new ManiaRuleset();
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
public void TestInversion() => CreateModTest(new ModTestData
|
|
|
|
{
|
|
|
|
Mod = new ManiaModInvert(),
|
|
|
|
PassCondition = () => Player.ScoreProcessor.JudgedHits >= 2
|
|
|
|
});
|
2024-07-01 05:58:32 +00:00
|
|
|
|
|
|
|
[Test]
|
|
|
|
public void TestBreaksPreservedOnOriginalBeatmap()
|
|
|
|
{
|
|
|
|
var beatmap = CreateBeatmap(new ManiaRuleset().RulesetInfo);
|
2024-07-02 03:16:11 +00:00
|
|
|
beatmap.Breaks.Clear();
|
|
|
|
beatmap.Breaks.Add(new BreakPeriod(0, 1000));
|
2024-07-01 05:58:32 +00:00
|
|
|
|
|
|
|
var workingBeatmap = new FlatWorkingBeatmap(beatmap);
|
|
|
|
|
|
|
|
var playableWithInvert = workingBeatmap.GetPlayableBeatmap(new ManiaRuleset().RulesetInfo, new[] { new ManiaModInvert() });
|
|
|
|
Assert.That(playableWithInvert.Breaks.Count, Is.Zero);
|
|
|
|
|
|
|
|
var playableWithoutInvert = workingBeatmap.GetPlayableBeatmap(new ManiaRuleset().RulesetInfo);
|
|
|
|
Assert.That(playableWithoutInvert.Breaks.Count, Is.Not.Zero);
|
|
|
|
Assert.That(playableWithoutInvert.Breaks[0], Is.EqualTo(new BreakPeriod(0, 1000)));
|
|
|
|
}
|
2020-08-17 16:40:55 +00:00
|
|
|
}
|
|
|
|
}
|