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