Fix audio disposal issues and share more code between visualtests.

This commit is contained in:
Dean Herbert
2017-03-02 16:08:37 +09:00
parent 8040d6a03f
commit 4bd85fe5cb
2 changed files with 29 additions and 45 deletions

View File

@ -20,7 +20,9 @@ namespace osu.Desktop.VisualTests.Tests
{
class TestCasePlayer : TestCase
{
private WorkingBeatmap beatmap;
protected Player Player;
private BeatmapDatabase db;
public override string Name => @"Player";
public override string Description => @"Showing everything to play the game.";
@ -28,15 +30,19 @@ namespace osu.Desktop.VisualTests.Tests
[BackgroundDependencyLoader]
private void load(BeatmapDatabase db)
{
var beatmapInfo = db.Query<BeatmapInfo>().Where(b => b.Mode == PlayMode.Osu).FirstOrDefault();
if (beatmapInfo != null)
beatmap = db.GetWorkingBeatmap(beatmapInfo);
this.db = db;
}
public override void Reset()
{
base.Reset();
WorkingBeatmap beatmap = null;
var beatmapInfo = db.Query<BeatmapInfo>().Where(b => b.Mode == PlayMode.Osu).FirstOrDefault();
if (beatmapInfo != null)
beatmap = db.GetWorkingBeatmap(beatmapInfo);
if (beatmap?.Track == null)
{
var objects = new List<HitObject>();
@ -82,16 +88,21 @@ namespace osu.Desktop.VisualTests.Tests
Colour = Color4.Black,
});
Add(new PlayerLoader(new Player
{
PreferredPlayMode = PlayMode.Osu,
Beatmap = beatmap
})
Add(new PlayerLoader(Player = CreatePlayer(beatmap))
{
Beatmap = beatmap
});
}
protected virtual Player CreatePlayer(WorkingBeatmap beatmap)
{
return new Player
{
PreferredPlayMode = PlayMode.Osu,
Beatmap = beatmap
};
}
class TestWorkingBeatmap : WorkingBeatmap
{
public TestWorkingBeatmap(Beatmap beatmap)