Skip to content

Commit

Permalink
Add test case(without checking result.)
Browse files Browse the repository at this point in the history
  • Loading branch information
andy840119 committed Sep 9, 2020
1 parent 1e895b7 commit bc9328f
Showing 1 changed file with 72 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
// Copyright (c) andy840119 <[email protected]>. Licensed under the GPL Licence.
// See the LICENCE file in the repository root for full licence text.

using NUnit.Framework;
using osu.Framework.Graphics;
using osu.Game.Beatmaps;
using osu.Game.Beatmaps.Formats;
using osu.Game.IO;
using osu.Game.Rulesets.Karaoke.Tests.Resources;
using osu.Game.Screens.Select;
using osu.Game.Tests.Visual;
using osuTK;

namespace osu.Game.Rulesets.Karaoke.Tests.Beatmaps
{
[TestFixture]
public class TestSceneBeatmapInfoWedge : OsuTestScene
{
private TestBeatmapInfoWedge infoWedge;
protected override void LoadComplete()
{
base.LoadComplete();

Add(infoWedge = new TestBeatmapInfoWedge
{
Size = new Vector2(0.5f, 245),
RelativeSizeAxes = Axes.X,
Margin = new MarginPadding { Top = 20 }
});

AddStep("show", () =>
{
infoWedge.Show();
infoWedge.Beatmap = Beatmap.Value;
});
}

[TestCase("karaoke-file-samples")]
[TestCase("karaoke-file-samples-without-note")]
[TestCase("karaoke-note-samples")]
[TestCase("karaoke-style-samples")]
[TestCase("karaoke-translate-samples")]
public void TestNullBeatmap(string fileName)
{
using (var resStream = TestResources.OpenBeatmapResource(fileName))
using (var stream = new LineBufferedReader(resStream))
{
var decoder = Decoder.GetDecoder<Beatmap>(stream);
var beatmap = decoder.Decode(stream);
selectBeatmap(beatmap, fileName);
}
}

private void selectBeatmap(IBeatmap b, string fileName)
{
BeatmapInfoWedge.BufferedWedgeInfo infoBefore = null;

AddStep($"select {b?.Metadata.Title ?? fileName} beatmap", () =>
{
infoBefore = infoWedge.Info;
infoWedge.Beatmap = Beatmap.Value = b == null ? Beatmap.Default : CreateWorkingBeatmap(b);
});

AddUntilStep("wait for async load", () => infoWedge.Info != infoBefore);
}

private class TestBeatmapInfoWedge : BeatmapInfoWedge
{
public new BufferedWedgeInfo Info => base.Info;
}
}
}

0 comments on commit bc9328f

Please sign in to comment.