Convert all expectedScore values to int

This commit is contained in:
Endrik Tombak 2020-10-09 17:33:13 +03:00
parent 6e8011a7ee
commit a279c38af4

View File

@ -60,7 +60,7 @@ namespace osu.Game.Tests.Rulesets.Scoring
/// <param name="scoringMode">Scoring mode to test</param> /// <param name="scoringMode">Scoring mode to test</param>
/// <param name="hitResult">HitResult that will be applied to HitObjects</param> /// <param name="hitResult">HitResult that will be applied to HitObjects</param>
/// <param name="maxResult">HitResult used for accuracy calcualtion</param> /// <param name="maxResult">HitResult used for accuracy calcualtion</param>
/// <param name="expectedScore">Expected score after 3/4 hitobjects have been hit</param> /// <param name="expectedScore">Expected score after 3/4 hitobjects have been hit rounded to nearest integer</param>
/// <remarks> /// <remarks>
/// This test intentionally misses the 3rd hitobject to achieve lower than 75% accuracy and 50% max combo /// 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%)) /// expectedScore is calcualted using this algorithm for standardised scoring: 1_000_000 * ((75% * score_per_hitobject / max_per_hitobject * 30%) + (50% * 70%))
@ -72,7 +72,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, 387_500)] [TestCase(ScoringMode.Standardised, HitResult.Meh, HitResult.Great, 387_500)]
[TestCase(ScoringMode.Standardised, HitResult.Ok, HitResult.Great, 425_000)] [TestCase(ScoringMode.Standardised, HitResult.Ok, HitResult.Great, 425_000)]
[TestCase(ScoringMode.Standardised, HitResult.Good, HitResult.Perfect, 3_350_000 / 7.0)] [TestCase(ScoringMode.Standardised, HitResult.Good, HitResult.Perfect, 478_571)]
[TestCase(ScoringMode.Standardised, HitResult.Great, HitResult.Great, 575_000)] [TestCase(ScoringMode.Standardised, HitResult.Great, HitResult.Great, 575_000)]
[TestCase(ScoringMode.Standardised, HitResult.Perfect, HitResult.Perfect, 575_000)] [TestCase(ScoringMode.Standardised, HitResult.Perfect, HitResult.Perfect, 575_000)]
[TestCase(ScoringMode.Standardised, HitResult.SmallTickMiss, HitResult.SmallTickHit, 700_000)] [TestCase(ScoringMode.Standardised, HitResult.SmallTickMiss, HitResult.SmallTickHit, 700_000)]
@ -84,7 +84,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, 156)] [TestCase(ScoringMode.Classic, HitResult.Meh, HitResult.Great, 156)]
[TestCase(ScoringMode.Classic, HitResult.Ok, HitResult.Great, 312)] [TestCase(ScoringMode.Classic, HitResult.Ok, HitResult.Great, 312)]
[TestCase(ScoringMode.Classic, HitResult.Good, HitResult.Perfect, 3744 / 7.0)] [TestCase(ScoringMode.Classic, HitResult.Good, HitResult.Perfect, 535)]
[TestCase(ScoringMode.Classic, HitResult.Great, HitResult.Great, 936)] [TestCase(ScoringMode.Classic, HitResult.Great, HitResult.Great, 936)]
[TestCase(ScoringMode.Classic, HitResult.Perfect, HitResult.Perfect, 936)] [TestCase(ScoringMode.Classic, HitResult.Perfect, HitResult.Perfect, 936)]
[TestCase(ScoringMode.Classic, HitResult.SmallTickMiss, HitResult.SmallTickHit, 0)] [TestCase(ScoringMode.Classic, HitResult.SmallTickMiss, HitResult.SmallTickHit, 0)]
@ -93,7 +93,7 @@ namespace osu.Game.Tests.Rulesets.Scoring
[TestCase(ScoringMode.Classic, HitResult.LargeTickHit, HitResult.LargeTickHit, 936)] [TestCase(ScoringMode.Classic, HitResult.LargeTickHit, HitResult.LargeTickHit, 936)]
[TestCase(ScoringMode.Classic, HitResult.SmallBonus, HitResult.SmallBonus, 30)] [TestCase(ScoringMode.Classic, HitResult.SmallBonus, HitResult.SmallBonus, 30)]
[TestCase(ScoringMode.Classic, HitResult.LargeBonus, HitResult.LargeBonus, 150)] [TestCase(ScoringMode.Classic, HitResult.LargeBonus, HitResult.LargeBonus, 150)]
public void TestFourVariousResultsOneMiss(ScoringMode scoringMode, HitResult hitResult, HitResult maxResult, double expectedScore) public void TestFourVariousResultsOneMiss(ScoringMode scoringMode, HitResult hitResult, HitResult maxResult, int expectedScore)
{ {
var minResult = new TestJudgement(hitResult).MinResult; var minResult = new TestJudgement(hitResult).MinResult;
@ -113,14 +113,14 @@ namespace osu.Game.Tests.Rulesets.Scoring
scoreProcessor.ApplyResult(judgementResult); scoreProcessor.ApplyResult(judgementResult);
} }
Assert.IsTrue(Precision.AlmostEquals(expectedScore, scoreProcessor.TotalScore.Value)); Assert.IsTrue(Precision.AlmostEquals(expectedScore, scoreProcessor.TotalScore.Value, 0.5));
} }
[TestCase(ScoringMode.Standardised, HitResult.SmallTickHit, 6_850_000 / 7.0)] [TestCase(ScoringMode.Standardised, HitResult.SmallTickHit, 978_571)]
[TestCase(ScoringMode.Standardised, HitResult.SmallTickMiss, 6_400_000 / 7.0)] [TestCase(ScoringMode.Standardised, HitResult.SmallTickMiss, 914_286)]
[TestCase(ScoringMode.Classic, HitResult.SmallTickHit, 1950 / 7.0)] [TestCase(ScoringMode.Classic, HitResult.SmallTickHit, 279)]
[TestCase(ScoringMode.Classic, HitResult.SmallTickMiss, 1500 / 7.0)] [TestCase(ScoringMode.Classic, HitResult.SmallTickMiss, 214)]
public void TestSmallTicksAccuracy(ScoringMode scoringMode, HitResult hitResult, double expectedScore) public void TestSmallTicksAccuracy(ScoringMode scoringMode, HitResult hitResult, int expectedScore)
{ {
IEnumerable<HitObject> hitObjects = Enumerable IEnumerable<HitObject> hitObjects = Enumerable
.Repeat(new TestHitObject(HitResult.SmallTickHit), 4) .Repeat(new TestHitObject(HitResult.SmallTickHit), 4)
@ -147,7 +147,7 @@ namespace osu.Game.Tests.Rulesets.Scoring
}; };
scoreProcessor.ApplyResult(lastJudgementResult); scoreProcessor.ApplyResult(lastJudgementResult);
Assert.IsTrue(Precision.AlmostEquals(expectedScore, scoreProcessor.TotalScore.Value)); Assert.IsTrue(Precision.AlmostEquals(expectedScore, scoreProcessor.TotalScore.Value, 0.5));
} }
[TestCase(HitResult.IgnoreHit, HitResult.IgnoreMiss)] [TestCase(HitResult.IgnoreHit, HitResult.IgnoreMiss)]