Commit Graph

19 Commits

Author SHA1 Message Date
Bartłomiej Dach 70842f71f4 Fix floating point handling in filter intervals
Due to floating-point rounding and representation errors, filters could
wrongly display results incongruous with the wedge display text (ie.
a beatmap with the BPM of 139.99999 would be displayed as having 140
BPM and also pass the bpm<140 filter).

Apply tolerance when parsing floating-point constraints. The tolerance
chosen is half of what the UI displays for the particular values (so
for example half of 0.1 for AR/DR/CS, 0.01 for stars, etc.)

Tests updated accordingly.
2019-09-22 00:20:55 +02:00
Bartłomiej Dach b262ba13cd Add creator= and artist= filters
To match stable, add creator= and artist= filters to the beatmap
carousel on song select screen. Contrary to stable, this implementation
supports phrase queries with spaces within using double quotes.

The quote handling is not entirely correct (can't nest), but quotes
should rarely happen within names, and it is an edge case of an edge
case - leaving best-effort as is. Test coverage also included.
2019-09-22 00:20:55 +02:00
Bartłomiej Dach 41569fd2b6 Add filter evaluating unit tests
Introduce unit tests covering the actual evaluation of filters for
beatmaps. Partially covers most scenarios.
2019-09-22 00:20:54 +02:00
Bartłomiej Dach d11d932a87 Add filter parsing tests
Introduce unit tests covering parsing for the originally introduced
filtering features. The introduced improvements (lower and upper
interval and decimal point support) also tested.
2019-09-22 00:20:54 +02:00
Dean Herbert 5e2adf59be Enforce frame accuracy for tests 2019-07-10 11:53:34 +09:00
Dean Herbert bd53a96507 Ensure tests cannot run forever 2019-07-10 11:52:55 +09:00
Dean Herbert 2a3601e43b Fix test class filename case 2019-07-10 11:42:30 +09:00
Dean Herbert 73de146fb4 Update test null check to match 2019-03-31 01:42:38 +09:00
Dean Herbert 82b9dfdeb1 Add important section rewind tests 2019-03-29 11:37:12 +09:00
Dean Herbert 70f99400ad Fix many behavioural issues and add tests 2019-03-28 19:28:13 +09:00
smoogipoo 7e41fbc29b Remove LegacyDifficultyCalculator 2019-02-21 13:12:37 +09:00
smoogipoo 93b7b51d0a timeRate -> clockRate 2019-02-19 14:29:23 +09:00
smoogipoo 9d8ba4073c Add tests for LimitedCapacityStack 2019-02-19 14:18:49 +09:00
smoogipoo a8faa942a6 Implement new difficulty calculator structure 2019-02-18 14:49:43 +09:00
Dean Herbert 8617aaa2a7 Update licence header (and remove year) 2019-01-24 17:43:03 +09:00
Dean Herbert be37f3c328 Rename NoModMod 2018-11-30 17:35:13 +09:00
Dean Herbert d97a15a504 Add IMod and change ShortenedName to Acronym 2018-11-30 17:16:00 +09:00
smoogipoo 8f7334874c Fix up performance calculators 2018-06-14 16:04:48 +09:00
smoogipoo 83ff47ec80 Rewrite difficulty mod combinations 2018-06-06 16:20:17 +09:00