1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-14 05:07:26 +08:00

Write xmldoc for TestFourVariousResultsOneMiss

This commit is contained in:
Endrik Tombak 2020-10-09 17:28:59 +03:00
parent 6113557acc
commit 6e8011a7ee

View File

@ -54,6 +54,21 @@ namespace osu.Game.Tests.Rulesets.Scoring
Assert.IsTrue(Precision.AlmostEquals(expectedScore, scoreProcessor.TotalScore.Value));
}
/// <summary>
/// Test to see that all <see cref="HitResult"/> contribute to score portions in correct amounts.
/// </summary>
/// <param name="scoringMode">Scoring mode to test</param>
/// <param name="hitResult">HitResult that will be applied to HitObjects</param>
/// <param name="maxResult">HitResult used for accuracy calcualtion</param>
/// <param name="expectedScore">Expected score after 3/4 hitobjects have been hit</param>
/// <remarks>
/// This test intentionally misses the 3rd hitobject to achieve lower than 75% accuracy and 50% max combo
/// expectedScore is calcualted using this algorithm for standardised scoring: 1_000_000 * ((75% * score_per_hitobject / max_per_hitobject * 30%) + (50% * 70%))
/// "75% * score_per_hitobject / max_per_hitobject" is the accuracy we would get for hitting 3/4 hitobjects that award "score_per_hitobject / max_per_hitobject" accuracy each hit
///
/// expectedScore is calculated using this algorithm for classic scoring: score_per_hitobject / max_per_hitobject * 936
/// "936" is simplified from "75% * 4 * 300 * (1 + 1/25)"
/// </remarks>
[TestCase(ScoringMode.Standardised, HitResult.Miss, HitResult.Great, 0)]
[TestCase(ScoringMode.Standardised, HitResult.Meh, HitResult.Great, 387_500)]
[TestCase(ScoringMode.Standardised, HitResult.Ok, HitResult.Great, 425_000)]