mirror of
https://github.com/ppy/osu.git
synced 2025-01-12 17:43:05 +08:00
Fix various tests
This commit is contained in:
parent
e85c039722
commit
7c49843411
@ -17,12 +17,14 @@ namespace osu.Game.Rulesets.Mania.Tests.Mods
|
|||||||
{
|
{
|
||||||
private const double offset = 18;
|
private const double offset = 18;
|
||||||
|
|
||||||
|
protected override bool AllowFail => true;
|
||||||
|
|
||||||
protected override Ruleset CreatePlayerRuleset() => new ManiaRuleset();
|
protected override Ruleset CreatePlayerRuleset() => new ManiaRuleset();
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void TestHitWindowWithoutDoubleTime() => CreateModTest(new ModTestData
|
public void TestHitWindowWithoutDoubleTime() => CreateModTest(new ModTestData
|
||||||
{
|
{
|
||||||
PassCondition = () => Player.ScoreProcessor.JudgedHits > 0 && Player.ScoreProcessor.Accuracy.Value != 1,
|
PassCondition = () => Player.ScoreProcessor.JudgedHits > 0 && Player.ScoreProcessor.Accuracy.Value == 1 && Player.ScoreProcessor.TotalScore.Value == 1_000_000,
|
||||||
Autoplay = false,
|
Autoplay = false,
|
||||||
Beatmap = new Beatmap
|
Beatmap = new Beatmap
|
||||||
{
|
{
|
||||||
@ -40,24 +42,29 @@ namespace osu.Game.Rulesets.Mania.Tests.Mods
|
|||||||
});
|
});
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void TestHitWindowWithDoubleTime() => CreateModTest(new ModTestData
|
public void TestHitWindowWithDoubleTime()
|
||||||
{
|
{
|
||||||
Mod = new ManiaModDoubleTime(),
|
var doubleTime = new ManiaModDoubleTime();
|
||||||
PassCondition = () => Player.ScoreProcessor.JudgedHits > 0 && Player.ScoreProcessor.Accuracy.Value == 1,
|
|
||||||
Autoplay = false,
|
CreateModTest(new ModTestData
|
||||||
Beatmap = new Beatmap
|
|
||||||
{
|
{
|
||||||
BeatmapInfo = { Ruleset = new ManiaRuleset().RulesetInfo },
|
Mod = doubleTime,
|
||||||
Difficulty = { OverallDifficulty = 10 },
|
PassCondition = () => Player.ScoreProcessor.JudgedHits > 0 && Player.ScoreProcessor.Accuracy.Value == 1 && Player.ScoreProcessor.TotalScore.Value / doubleTime.ScoreMultiplier == 100010,
|
||||||
HitObjects = new List<HitObject>
|
Autoplay = false,
|
||||||
|
Beatmap = new Beatmap
|
||||||
{
|
{
|
||||||
new Note { StartTime = 1000 }
|
BeatmapInfo = { Ruleset = new ManiaRuleset().RulesetInfo },
|
||||||
|
Difficulty = { OverallDifficulty = 10 },
|
||||||
|
HitObjects = new List<HitObject>
|
||||||
|
{
|
||||||
|
new Note { StartTime = 1000 }
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
ReplayFrames = new List<ReplayFrame>
|
||||||
ReplayFrames = new List<ReplayFrame>
|
{
|
||||||
{
|
new ManiaReplayFrame(1000 + offset, ManiaAction.Key1)
|
||||||
new ManiaReplayFrame(1000 + offset, ManiaAction.Key1)
|
}
|
||||||
}
|
});
|
||||||
});
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -200,10 +200,12 @@ namespace osu.Game.Rulesets.Mania.Tests
|
|||||||
});
|
});
|
||||||
|
|
||||||
assertHeadJudgement(HitResult.Perfect);
|
assertHeadJudgement(HitResult.Perfect);
|
||||||
assertComboAtJudgement(0, 1);
|
// judgement combo offset by perfect bonus judgement. see logic in DrawableNote.CheckForResult.
|
||||||
|
assertComboAtJudgement(1, 1);
|
||||||
assertTailJudgement(HitResult.Meh);
|
assertTailJudgement(HitResult.Meh);
|
||||||
assertComboAtJudgement(1, 0);
|
assertComboAtJudgement(2, 0);
|
||||||
assertComboAtJudgement(2, 1);
|
// judgement combo offset by perfect bonus judgement. see logic in DrawableNote.CheckForResult.
|
||||||
|
assertComboAtJudgement(4, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -392,13 +394,11 @@ namespace osu.Game.Rulesets.Mania.Tests
|
|||||||
Duration = time_tail - time_head,
|
Duration = time_tail - time_head,
|
||||||
Column = 0,
|
Column = 0,
|
||||||
},
|
},
|
||||||
|
// Next note within tail lenience
|
||||||
|
(ManiaHitObject)(note = new Note
|
||||||
{
|
{
|
||||||
// Next note within tail lenience
|
StartTime = time_tail + 50
|
||||||
note = new Note
|
})
|
||||||
{
|
|
||||||
StartTime = time_tail + 50
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
BeatmapInfo =
|
BeatmapInfo =
|
||||||
{
|
{
|
||||||
|
@ -54,7 +54,7 @@ namespace osu.Game.Rulesets.Mania.Tests
|
|||||||
AddAssert("all objects perfectly judged",
|
AddAssert("all objects perfectly judged",
|
||||||
() => judgementResults.Select(result => result.Type),
|
() => judgementResults.Select(result => result.Type),
|
||||||
() => Is.EquivalentTo(judgementResults.Select(result => result.Judgement.MaxResult)));
|
() => Is.EquivalentTo(judgementResults.Select(result => result.Judgement.MaxResult)));
|
||||||
AddAssert("score is 1 million", () => currentPlayer.ScoreProcessor.TotalScore.Value, () => Is.EqualTo(1_000_000));
|
AddAssert("score is correct", () => currentPlayer.ScoreProcessor.TotalScore.Value, () => Is.EqualTo(1_000_030));
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
@ -87,7 +87,7 @@ namespace osu.Game.Rulesets.Mania.Tests
|
|||||||
AddAssert("all objects perfectly judged",
|
AddAssert("all objects perfectly judged",
|
||||||
() => judgementResults.Select(result => result.Type),
|
() => judgementResults.Select(result => result.Type),
|
||||||
() => Is.EquivalentTo(judgementResults.Select(result => result.Judgement.MaxResult)));
|
() => Is.EquivalentTo(judgementResults.Select(result => result.Judgement.MaxResult)));
|
||||||
AddAssert("score is 1 million", () => currentPlayer.ScoreProcessor.TotalScore.Value, () => Is.EqualTo(1_000_000));
|
AddAssert("base score is 1 million", () => currentPlayer.ScoreProcessor.TotalScore.Value, () => Is.EqualTo(1_000_040));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void performTest(List<ManiaHitObject> hitObjects, List<ReplayFrame> frames)
|
private void performTest(List<ManiaHitObject> hitObjects, List<ReplayFrame> frames)
|
||||||
|
@ -74,7 +74,7 @@ namespace osu.Game.Tests.Rulesets.Scoring
|
|||||||
[TestCase(ScoringMode.Standardised, HitResult.Miss, HitResult.Great, 0)]
|
[TestCase(ScoringMode.Standardised, HitResult.Miss, HitResult.Great, 0)]
|
||||||
[TestCase(ScoringMode.Standardised, HitResult.Meh, HitResult.Great, 79_333)]
|
[TestCase(ScoringMode.Standardised, HitResult.Meh, HitResult.Great, 79_333)]
|
||||||
[TestCase(ScoringMode.Standardised, HitResult.Ok, HitResult.Great, 158_667)]
|
[TestCase(ScoringMode.Standardised, HitResult.Ok, HitResult.Great, 158_667)]
|
||||||
[TestCase(ScoringMode.Standardised, HitResult.Good, HitResult.Perfect, 302_402)]
|
[TestCase(ScoringMode.Standardised, HitResult.Good, HitResult.Perfect, 317_626)]
|
||||||
[TestCase(ScoringMode.Standardised, HitResult.Great, HitResult.Great, 492_894)]
|
[TestCase(ScoringMode.Standardised, HitResult.Great, HitResult.Great, 492_894)]
|
||||||
[TestCase(ScoringMode.Standardised, HitResult.Perfect, HitResult.Perfect, 492_894)]
|
[TestCase(ScoringMode.Standardised, HitResult.Perfect, HitResult.Perfect, 492_894)]
|
||||||
[TestCase(ScoringMode.Standardised, HitResult.SmallTickMiss, HitResult.SmallTickHit, 0)]
|
[TestCase(ScoringMode.Standardised, HitResult.SmallTickMiss, HitResult.SmallTickHit, 0)]
|
||||||
@ -86,7 +86,7 @@ namespace osu.Game.Tests.Rulesets.Scoring
|
|||||||
[TestCase(ScoringMode.Classic, HitResult.Miss, HitResult.Great, 0)]
|
[TestCase(ScoringMode.Classic, HitResult.Miss, HitResult.Great, 0)]
|
||||||
[TestCase(ScoringMode.Classic, HitResult.Meh, HitResult.Great, 7_975)]
|
[TestCase(ScoringMode.Classic, HitResult.Meh, HitResult.Great, 7_975)]
|
||||||
[TestCase(ScoringMode.Classic, HitResult.Ok, HitResult.Great, 15_949)]
|
[TestCase(ScoringMode.Classic, HitResult.Ok, HitResult.Great, 15_949)]
|
||||||
[TestCase(ScoringMode.Classic, HitResult.Good, HitResult.Perfect, 30_398)]
|
[TestCase(ScoringMode.Classic, HitResult.Good, HitResult.Perfect, 31_928)]
|
||||||
[TestCase(ScoringMode.Classic, HitResult.Great, HitResult.Great, 49_546)]
|
[TestCase(ScoringMode.Classic, HitResult.Great, HitResult.Great, 49_546)]
|
||||||
[TestCase(ScoringMode.Classic, HitResult.Perfect, HitResult.Perfect, 49_546)]
|
[TestCase(ScoringMode.Classic, HitResult.Perfect, HitResult.Perfect, 49_546)]
|
||||||
[TestCase(ScoringMode.Classic, HitResult.SmallTickMiss, HitResult.SmallTickHit, 0)]
|
[TestCase(ScoringMode.Classic, HitResult.SmallTickMiss, HitResult.SmallTickHit, 0)]
|
||||||
|
Loading…
Reference in New Issue
Block a user