Extract replay-transforming helper test method

This commit is contained in:
Bartłomiej Dach 2020-08-10 19:51:00 +02:00
parent 96c4a30fac
commit 61f1c4fe62
1 changed files with 14 additions and 14 deletions

View File

@ -121,19 +121,7 @@ public void TestSpinnerMiddleRewindingRotation()
public void TestRotationDirection([Values(true, false)] bool clockwise) public void TestRotationDirection([Values(true, false)] bool clockwise)
{ {
if (clockwise) if (clockwise)
{ transformReplay(flip);
AddStep("flip replay", () =>
{
var drawableRuleset = this.ChildrenOfType<DrawableOsuRuleset>().Single();
var score = drawableRuleset.ReplayScore;
var scoreWithFlippedReplay = new Score
{
ScoreInfo = score.ScoreInfo,
Replay = flipReplay(score.Replay)
};
drawableRuleset.SetReplayScore(scoreWithFlippedReplay);
});
}
addSeekStep(5000); addSeekStep(5000);
@ -141,7 +129,7 @@ public void TestRotationDirection([Values(true, false)] bool clockwise)
AddAssert("spinner symbol direction correct", () => clockwise ? spinnerSymbol.Rotation > 0 : spinnerSymbol.Rotation < 0); AddAssert("spinner symbol direction correct", () => clockwise ? spinnerSymbol.Rotation > 0 : spinnerSymbol.Rotation < 0);
} }
private Replay flipReplay(Replay scoreReplay) => new Replay private Replay flip(Replay scoreReplay) => new Replay
{ {
Frames = scoreReplay Frames = scoreReplay
.Frames .Frames
@ -203,6 +191,18 @@ private void addSeekStep(double time)
AddUntilStep("wait for seek to finish", () => Precision.AlmostEquals(time, Player.DrawableRuleset.FrameStableClock.CurrentTime, 100)); AddUntilStep("wait for seek to finish", () => Precision.AlmostEquals(time, Player.DrawableRuleset.FrameStableClock.CurrentTime, 100));
} }
private void transformReplay(Func<Replay, Replay> replayTransformation) => AddStep("set replay", () =>
{
var drawableRuleset = this.ChildrenOfType<DrawableOsuRuleset>().Single();
var score = drawableRuleset.ReplayScore;
var transformedScore = new Score
{
ScoreInfo = score.ScoreInfo,
Replay = replayTransformation.Invoke(score.Replay)
};
drawableRuleset.SetReplayScore(transformedScore);
});
protected override IBeatmap CreateBeatmap(RulesetInfo ruleset) => new Beatmap protected override IBeatmap CreateBeatmap(RulesetInfo ruleset) => new Beatmap
{ {
HitObjects = new List<HitObject> HitObjects = new List<HitObject>