mirror of
https://github.com/ppy/osu.git
synced 2024-12-14 11:42:56 +08:00
Add failing test for storyboard sample playback with beatmap hitsounds off
This commit is contained in:
parent
3527e3181b
commit
2b4c2f7ff3
@ -8,6 +8,7 @@ using System.Linq;
|
|||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
|
using osu.Framework.Allocation;
|
||||||
using osu.Framework.Audio;
|
using osu.Framework.Audio;
|
||||||
using osu.Framework.Audio.Sample;
|
using osu.Framework.Audio.Sample;
|
||||||
using osu.Framework.Graphics.Audio;
|
using osu.Framework.Graphics.Audio;
|
||||||
@ -16,6 +17,7 @@ using osu.Framework.IO.Stores;
|
|||||||
using osu.Framework.Testing;
|
using osu.Framework.Testing;
|
||||||
using osu.Framework.Utils;
|
using osu.Framework.Utils;
|
||||||
using osu.Game.Audio;
|
using osu.Game.Audio;
|
||||||
|
using osu.Game.Configuration;
|
||||||
using osu.Game.Database;
|
using osu.Game.Database;
|
||||||
using osu.Game.IO;
|
using osu.Game.IO;
|
||||||
using osu.Game.Rulesets;
|
using osu.Game.Rulesets;
|
||||||
@ -35,6 +37,9 @@ namespace osu.Game.Tests.Gameplay
|
|||||||
[HeadlessTest]
|
[HeadlessTest]
|
||||||
public class TestSceneStoryboardSamples : OsuTestScene, IStorageResourceProvider
|
public class TestSceneStoryboardSamples : OsuTestScene, IStorageResourceProvider
|
||||||
{
|
{
|
||||||
|
[Resolved]
|
||||||
|
private OsuConfigManager config { get; set; }
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void TestRetrieveTopLevelSample()
|
public void TestRetrieveTopLevelSample()
|
||||||
{
|
{
|
||||||
@ -166,6 +171,39 @@ namespace osu.Game.Tests.Gameplay
|
|||||||
((IApplicableToRate)testedMod).ApplyToRate(sampleInfo.StartTime)));
|
((IApplicableToRate)testedMod).ApplyToRate(sampleInfo.StartTime)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void TestSamplePlaybackWithBeatmapHitsoundsOff()
|
||||||
|
{
|
||||||
|
GameplayClockContainer gameplayContainer = null;
|
||||||
|
TestDrawableStoryboardSample sample = null;
|
||||||
|
|
||||||
|
AddStep("disable beatmap hitsounds", () => config.SetValue(OsuSetting.BeatmapHitsounds, false));
|
||||||
|
|
||||||
|
AddStep("setup storyboard sample", () =>
|
||||||
|
{
|
||||||
|
Beatmap.Value = new TestCustomSkinWorkingBeatmap(new OsuRuleset().RulesetInfo, this);
|
||||||
|
|
||||||
|
var beatmapSkinSourceContainer = new BeatmapSkinProvidingContainer(Beatmap.Value.Skin);
|
||||||
|
|
||||||
|
Add(gameplayContainer = new MasterGameplayClockContainer(Beatmap.Value, 0)
|
||||||
|
{
|
||||||
|
Child = beatmapSkinSourceContainer
|
||||||
|
});
|
||||||
|
|
||||||
|
beatmapSkinSourceContainer.Add(sample = new TestDrawableStoryboardSample(new StoryboardSampleInfo("test-sample", 1, 1))
|
||||||
|
{
|
||||||
|
Clock = gameplayContainer.GameplayClock
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
AddStep("start", () => gameplayContainer.Start());
|
||||||
|
|
||||||
|
AddUntilStep("sample played", () => sample.IsPlayed);
|
||||||
|
AddUntilStep("sample has lifetime end", () => sample.LifetimeEnd < double.MaxValue);
|
||||||
|
|
||||||
|
AddStep("restore default", () => config.GetBindable<bool>(OsuSetting.BeatmapHitsounds).SetDefault());
|
||||||
|
}
|
||||||
|
|
||||||
private class TestSkin : LegacySkin
|
private class TestSkin : LegacySkin
|
||||||
{
|
{
|
||||||
public TestSkin(string resourceName, IStorageResourceProvider resources)
|
public TestSkin(string resourceName, IStorageResourceProvider resources)
|
||||||
|
Loading…
Reference in New Issue
Block a user