diff --git a/osu.Game.Tests/NonVisual/Filtering/FilterQueryParserTest.cs b/osu.Game.Tests/NonVisual/Filtering/FilterQueryParserTest.cs index 9968647cb2..8bef6b04a7 100644 --- a/osu.Game.Tests/NonVisual/Filtering/FilterQueryParserTest.cs +++ b/osu.Game.Tests/NonVisual/Filtering/FilterQueryParserTest.cs @@ -178,6 +178,16 @@ namespace osu.Game.Tests.NonVisual.Filtering [Test] public void TestApplyBPMQueries() + { + const string query = "bpm=200"; + var filterCriteria = new FilterCriteria(); + FilterQueryParser.ApplyQueries(filterCriteria, query); + Assert.AreEqual(filterCriteria.BPM.Min, 199.5d); + Assert.AreEqual(filterCriteria.BPM.Max, 200.5d); + } + + [Test] + public void TestApplyBPMRangeQueries() { const string query = "bpm>:200 gotta go fast"; var filterCriteria = new FilterCriteria(); @@ -185,8 +195,7 @@ namespace osu.Game.Tests.NonVisual.Filtering Assert.AreEqual("gotta go fast", filterCriteria.SearchText.Trim()); Assert.AreEqual(3, filterCriteria.SearchTerms.Length); Assert.IsNotNull(filterCriteria.BPM.Min); - Assert.Greater(filterCriteria.BPM.Min, 199.99d); - Assert.Less(filterCriteria.BPM.Min, 200.00d); + Assert.AreEqual(filterCriteria.BPM.Min, 199.5d); Assert.IsNull(filterCriteria.BPM.Max); } diff --git a/osu.Game/Screens/Select/FilterQueryParser.cs b/osu.Game/Screens/Select/FilterQueryParser.cs index 7d66a61884..8cf3bda1c5 100644 --- a/osu.Game/Screens/Select/FilterQueryParser.cs +++ b/osu.Game/Screens/Select/FilterQueryParser.cs @@ -57,7 +57,7 @@ namespace osu.Game.Screens.Select return TryUpdateCriteriaRange(ref criteria.OverallDifficulty, op, value); case "bpm": - return TryUpdateCriteriaRange(ref criteria.BPM, op, value, 0.01d / 2); + return TryUpdateCriteriaRange(ref criteria.BPM, op, value, 0.5f); case "length": return tryUpdateLengthRange(criteria, op, value);