From 59a1915451e43e4619c68719ae770974f45bead3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Fri, 20 Oct 2023 10:25:28 +0200 Subject: [PATCH] Add failing test case for insufficient sample query leniency --- .../Beatmaps/Formats/LegacyBeatmapDecoderTest.cs | 13 +++++++++++++ osu.Game.Tests/Resources/sample-point-leniency.osu | 10 ++++++++++ 2 files changed, 23 insertions(+) create mode 100644 osu.Game.Tests/Resources/sample-point-leniency.osu diff --git a/osu.Game.Tests/Beatmaps/Formats/LegacyBeatmapDecoderTest.cs b/osu.Game.Tests/Beatmaps/Formats/LegacyBeatmapDecoderTest.cs index fec7f86eb2..66151a51e6 100644 --- a/osu.Game.Tests/Beatmaps/Formats/LegacyBeatmapDecoderTest.cs +++ b/osu.Game.Tests/Beatmaps/Formats/LegacyBeatmapDecoderTest.cs @@ -1080,5 +1080,18 @@ public void TestNaNControlPoints() Assert.That(controlPoints.DifficultyPointAt(3000).GenerateTicks, Is.True); } } + + [Test] + public void TestSamplePointLeniency() + { + var decoder = new LegacyBeatmapDecoder { ApplyOffsets = false }; + + using (var resStream = TestResources.OpenResource("sample-point-leniency.osu")) + using (var stream = new LineBufferedReader(resStream)) + { + var hitObject = decoder.Decode(stream).HitObjects.Single(); + Assert.That(hitObject.Samples.Select(s => s.Volume), Has.All.EqualTo(70)); + } + } } } diff --git a/osu.Game.Tests/Resources/sample-point-leniency.osu b/osu.Game.Tests/Resources/sample-point-leniency.osu new file mode 100644 index 0000000000..a44838007c --- /dev/null +++ b/osu.Game.Tests/Resources/sample-point-leniency.osu @@ -0,0 +1,10 @@ +osu file format v14 + +# extracted from https://osu.ppy.sh/beatmapsets/1859679#osu/3823636 + +[TimingPoints] +39166,-117.647058823529,4,2,1,5,0,0 +39262,-117.647058823529,4,2,1,70,0,0 + +[HitObjects] +440,70,39260,1,10,0:2:0:0: