1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 13:07:24 +08:00
osu-lazer/osu.Game.Rulesets.Mania.Tests/Mods/TestSceneManiaModInvert.cs

44 lines
1.6 KiB
C#
Raw Normal View History

2020-08-18 00:40:55 +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.
2024-07-02 10:59:24 +08:00
using System.Collections.Generic;
2020-08-18 00:40:55 +08:00
using NUnit.Framework;
2024-07-01 13:58:32 +08:00
using osu.Game.Beatmaps;
using osu.Game.Beatmaps.Timing;
2020-08-18 00:40:55 +08:00
using osu.Game.Rulesets.Mania.Mods;
using osu.Game.Tests.Visual;
namespace osu.Game.Rulesets.Mania.Tests.Mods
{
2022-11-24 13:32:20 +08:00
public partial class TestSceneManiaModInvert : ModTestScene
2020-08-18 00:40:55 +08:00
{
protected override Ruleset CreatePlayerRuleset() => new ManiaRuleset();
[Test]
public void TestInversion() => CreateModTest(new ModTestData
{
Mod = new ManiaModInvert(),
PassCondition = () => Player.ScoreProcessor.JudgedHits >= 2
});
2024-07-01 13:58:32 +08:00
[Test]
public void TestBreaksPreservedOnOriginalBeatmap()
{
var beatmap = CreateBeatmap(new ManiaRuleset().RulesetInfo);
2024-07-02 10:59:24 +08:00
var breaks = (List<BreakPeriod>)beatmap.Breaks;
breaks.Clear();
breaks.Add(new BreakPeriod(0, 1000));
2024-07-01 13:58:32 +08: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-18 00:40:55 +08:00
}
}