1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-16 02:57:26 +08:00
Commit Graph

525 Commits

Author SHA1 Message Date
Dean Herbert
01da6f20b3 Tidy up all remaining usages 2022-06-23 19:27:35 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dan Balasescu
c9dfffbc0e
Merge pull request #18619 from peppy/fix-collection-performance
Fix performance overhead of large collections
2022-06-10 15:01:31 +09:00
Dean Herbert
4a5e86e451 Rename Beatmaps to BeatmapHashes for clarity 2022-06-10 14:03:51 +09:00
Endrik Tombak
bf67b35ade Use new own profile statistics in difficulty recommender 2022-06-08 17:44:57 +03:00
Dean Herbert
42cd7d9e6e Change CollectionManager to only store MD5 hashes instead of full BeatmapInfo 2022-06-08 18:23:09 +09:00
Dean Herbert
0d32c94104 Add initial implementation of beatmap carousel no-results-placeholder 2022-06-07 17:25:06 +09:00
Salman Ahmed
1f17652c1d Fix test failure due to async-loading of content 2022-05-20 19:08:41 +03:00
Salman Ahmed
84a3cee452 Apply rate multiplier outside BPM rounding 2022-05-20 18:04:12 +03:00
Salman Ahmed
de8aedf348 Add failing test case 2022-05-20 17:53:28 +03:00
Bartłomiej Dach
76c63f1d0a
Rename ModSelect{Screen -> Overlay} in place of removed old design 2022-05-10 22:56:50 +02:00
Bartłomiej Dach
8f65e0e60f
Add failing test coverage for toggling mod overlay with hotkey 2022-05-05 22:16:56 +02:00
Salman Ahmed
856ca96b66 Allow right-clicking to rewind on random button 2022-04-29 10:12:24 +03:00
Salman Ahmed
294340279e Add inputting test coverage 2022-04-29 04:14:09 +03:00
Joseph Madamba
0146949ad6 Fix failing string comparison tests 2022-04-20 16:52:24 -07:00
Salman Ahmed
3cbc6cd297 Update further tests to cache using IDialogOverlay 2022-04-18 21:04:22 +03:00
Dan Balasescu
cb1ee05539
Merge pull request #17555 from peppy/remove-source-from-wedge
Remove song source from main wedge display
2022-03-30 18:57:25 +09:00
Dean Herbert
bc0b982102 Remove song source from main wedge display
This was definitely added at someone's request, since I wouldn't have
put it here. But it's displayed below in the details section already and
also not displayed in the updated "wedge" in the new design.

See https://github.com/ppy/osu/discussions/17537 for discussion.
2022-03-30 17:59:40 +09:00
Salman Ahmed
b7ae431252 Add test coverage 2022-03-30 01:08:22 +03:00
Dan Balasescu
810cbd745d
Merge pull request #17170 from peppy/fix-top-local-rank-test-failures-realm-callback
Refactor top local rank test method to be more resilient to slow realm callbacks
2022-03-09 11:14:37 +09:00
Dean Herbert
233c8232d3 Fix TestSceneTopLocalRank.TestHighScoreSet not waiting for potentially slow realm callback
As brought to light by https://gist.github.com/smoogipoo/56eda7ab56b9d1966556f2ca7a80a847.
2022-03-09 01:22:01 +09:00
Dean Herbert
286bafe326 Refactor multiple TestScenePlaySongSelect test methods to be resilient to slow realm callbacks 2022-03-09 01:18:53 +09:00
Dean Herbert
c342030b2c Add specific placeholder message for custom rulesets rather than showing network error 2022-03-02 14:10:59 +09:00
Dan Balasescu
3a03833912
Merge pull request #16890 from peppy/beatmap-decoder-ruleset-store
Fix `LegacyBeatmapDecoder` not populating correct rulesets
2022-02-25 19:03:43 +09:00
dekrain
15ed9ec4fa
Merge scoreboard and leaderboard implementations together 2022-02-19 20:47:02 +01:00
dekrain
f4d1e6f600
Add tests for timerefs 2022-02-17 10:38:29 +01:00
Dean Herbert
0138f22c8d Update existing usages to point to RealmRulesetStore 2022-02-16 17:13:54 +09:00
Dean Herbert
f012f64fd1 Add test coverage checking carousel panel visual state after ruleset filter change 2022-02-11 15:21:01 +09:00
Dean Herbert
41aa4b8cca Fix TestSelectingFilteredRuleset failing under visual tests due to using local database 2022-02-03 16:04:05 +09:00
Dean Herbert
35b7653290 Revert mod flow changes and add visual test coverage showing an overflow case 2022-02-02 09:13:19 +09:00
Dean Herbert
3ca2c90684 Add test scores in BeatmapLeaderboard test scene with more mods 2022-02-01 16:35:25 +09:00
Dean Herbert
f8939af5e6 Track loading via state as well 2022-01-31 01:12:03 +09:00
Dean Herbert
04dbb5d3c6 Disallow setting "NoScores" externally as it is handled internally 2022-01-30 16:18:19 +09:00
Dean Herbert
acc1199add Consolidate flows of Set operations, either result or error 2022-01-30 16:16:00 +09:00
Dean Herbert
c401629dd8 Also refactor placeholder logic to make more sense 2022-01-30 10:50:32 +09:00
Dean Herbert
06660ff960 Fix null beatmap in test scene 2022-01-30 03:02:56 +09:00
Dean Herbert
d21464ea61 Fix assertions to work in both directions 2022-01-30 02:54:51 +09:00
Dean Herbert
51acf79935 Change test exposure to property instead of method 2022-01-30 02:29:51 +09:00
Dean Herbert
9861c50b33 Remove pointless tests that no longer show anything valid 2022-01-30 00:03:22 +09:00
Dean Herbert
661fec7c8a Make score setter private 2022-01-29 23:58:57 +09:00
Bartłomiej Dach
04d6ca59a3
Merge branch 'master' into song-select-scroll-position-during-delete 2022-01-27 20:46:19 +01:00
Dean Herbert
e872877185
Merge pull request #16648 from peppy/fix-song-select-tests
Fix song select tests not waiting for beatmap imports to arrive
2022-01-27 23:00:58 +09:00
Dean Herbert
fae4f8bd8e Move nulling of previous songSelect to SetUpSteps instead 2022-01-27 21:59:44 +09:00
Dean Herbert
831fa44433 Fix song select tests not waiting for beatmap imports to arrive
After the change to realm, notification fires could take a frame or two.
We aren't accounting for this.

Fixes test failures like
https://github.com/ppy/osu/runs/4963255990?check_suite_focus=true
2022-01-27 19:35:42 +09:00
Dean Herbert
f2cecad83b Add failing test coverage showing carousel deletions don't keep scroll position 2022-01-27 16:52:02 +09:00
Dean Herbert
5288eedd31 Update all usages of RulesetID and Ruleset.ID to use Ruleset.OnlineID 2022-01-27 15:38:03 +09:00
Dean Herbert
c0ed308016 Use more correct method of deletion in TestScenePlaySongSelect 2022-01-25 17:55:39 +09:00
Dean Herbert
778d2a71b4 Remove Task from the inner-most Import method in RealmArchiveModelImporter
One of my pending work items for post-realm merge.

The lowest-level import task is no longer asynchronous, as we don't want
it to span multiple threads to allow easier interaction with realm.
Removing the `Task` spec simplifies a heap of usages.

Individual usages should decide whether they want to run the import
asynchronously, by either using an alternative override or spooling up a
thread themselves.
2022-01-25 15:30:29 +09:00
Dean Herbert
3e5c9e8436 Fix cases of Access instead of Realm 2022-01-25 12:58:15 +09:00
Dean Herbert
6eb2c28e41 Rename RealmContextFactory to RealmAccess 2022-01-24 20:38:07 +09:00
Dan Balasescu
581873f944
Merge pull request #16497 from peppy/top-local-rank-optimisation
Rewrite `TopLocalRank` to use realm subscriptions
2022-01-19 14:22:12 +09:00
Dan Balasescu
3e5d29ed00
Merge pull request #16505 from peppy/remove-base-difficulty-usage
Remove all usage of `BaseDifficulty` (and access `Difficulty` instead)
2022-01-19 13:53:55 +09:00
Dean Herbert
201f2d7813 Add comprehensive test coverage for TopLocalRank 2022-01-19 13:48:00 +09:00
Dean Herbert
67bf95bc91 Remove all usage of AuthorString 2022-01-18 23:30:40 +09:00
Dean Herbert
7f65f3a47f Remove all usage of BaseDifficulty (and access Difficulty instead) 2022-01-18 22:57:39 +09:00
Dean Herbert
5dc7425b2c Fix incorrect realm (non-isolated instance) being used in two test scenes 2022-01-17 14:55:23 +09:00
Dean Herbert
9900a3f408 Remove outdated comment 2022-01-14 21:40:35 +09:00
Dean Herbert
289ae7c72f Update one more mismatched test implementation 2022-01-14 21:39:42 +09:00
Dean Herbert
a59dcccab7 Add local ContextFactory caching to all remaining test scenes that create local managers 2022-01-14 19:59:21 +09:00
Dean Herbert
51251e3204 Fix CI reported warnings 2022-01-12 22:39:00 +09:00
Dean Herbert
38cc1ce098 Add missing ruleset in test scores 2022-01-12 18:51:30 +09:00
Dean Herbert
cd88ccab4f Fix TestScenePlaySongSelect failure due to detach clone depth 2022-01-12 17:49:11 +09:00
Dean Herbert
9e2ca583a3 Fix incorrect realm factory isolation in TestScenePlaySongSelect 2022-01-12 17:49:11 +09:00
Dean Herbert
8e79898e26 Fix a couple of minor issues with TestSceneBeatmapRecommendations 2022-01-12 17:49:10 +09:00
Dean Herbert
605898ec53 Add missing "non-null" elements missing from some tests 2022-01-12 17:49:10 +09:00
Dean Herbert
41d90cd0b5 Fix beatmap carousel test failures 2022-01-12 17:49:10 +09:00
Dean Herbert
43c7b0d2c8 Fix unsupported realm operations in multiple tests 2022-01-12 17:49:10 +09:00
Dean Herbert
e74a5022c9 Fix multiple tests via null checks and changing ToLive to Detach
flow
2022-01-12 17:00:17 +09:00
Dean Herbert
3811bd8520 Fix some null inspections 2022-01-12 17:00:16 +09:00
Dean Herbert
3152d2d8a0 "Update" BeatmapCarousel 2022-01-12 17:00:16 +09:00
Dean Herbert
00e3af3366 Update model manager and many related classes to get things compiling again 2022-01-12 17:00:00 +09:00
Dean Herbert
4f6a05ce3d Reimplement all query methods 2022-01-12 16:57:27 +09:00
Dean Herbert
53792811b2 more fixes (almost compiles, except ruleset and manager) 2022-01-12 16:57:27 +09:00
Dean Herbert
e6fdd0e969 Miscellaneous fixes that don't fit elsewhere 2022-01-12 16:39:36 +09:00
Dean Herbert
2cb97dd599 Remove unnecessary assigns of EF foreign ID fields in tests 2022-01-12 16:39:36 +09:00
Dean Herbert
37673f4cf8 Update sets of BeatmapSet.Metadata to instead create a Beatmap 2022-01-12 16:39:36 +09:00
Dean Herbert
e6f6558ddf Update mock model usage to set GUIDs instead of ints 2022-01-12 16:39:36 +09:00
Dean Herbert
00177a3ae1 Update usages to new naming 2022-01-06 22:54:43 +09:00
Dean Herbert
73b40e6833 Replace usage of .Result with .WaitSafelyForResult 2022-01-04 11:51:41 +09:00
Dean Herbert
031a40af6a Replace usages of Wait with WaitSafely 2022-01-04 11:51:41 +09:00
Bartłomiej Dach
f492cf84d9
Ensure presence of at least 1 difficulty for each ruleset 2021-12-20 11:34:39 +01:00
Dean Herbert
5c8e317a6e Chooser earlier items in song select tests to avoid potentially not having enough 2021-12-20 17:11:15 +09:00
Dean Herbert
af78a3e99d Fix weird loop logic 2021-12-20 17:09:08 +09:00
Dean Herbert
309290a3c9 Use new method in more places that can benefit from it 2021-12-13 16:56:43 +09:00
Dean Herbert
a73919917c Fix intermittent test failures in TestScenBeatmapInfoWedge due to async load
https://github.com/ppy/osu/runs/4358685294?check_suite_focus=true

Occurs due to the wedge content also reloading on ruleset change, which
wasn't being accounted for. In a fail case, the content would change
during the "select beatmap" step's async load wait, causing incorrect
results.

51a353e12d/osu.Game/Screens/Select/BeatmapInfoWedge.cs (L70)
2021-11-30 12:32:09 +09:00
Dan Balasescu
f712aeee01
Merge pull request #15795 from peppy/realm-integration/separate-download-flow
Split out download logic from main manager classes
2021-11-25 20:59:23 +09:00
Dean Herbert
a2ab9f457d Move score download logic out of ScoreManager 2021-11-25 17:33:04 +09:00
Dean Herbert
e6cfe44652 Fix occasional test failure due to default value oversight in TestSceneBeatmapCarousel 2021-11-25 16:29:06 +09:00
Dan Balasescu
e176083898
Merge pull request #15781 from peppy/beatmap-set-status
Rename `BeatmapSetOnlineStatus` to `BeatmapOnlineStatus`
2021-11-24 19:25:29 +09:00
Dean Herbert
183b95cbc2 Rename BeatmapSetOnlineStatus to BeatmapOnlineStatus
This variable is used at more than just a set level.
2021-11-24 18:42:49 +09:00
Dean Herbert
0fe27cc8a1 Replace one more usage 2021-11-24 18:29:33 +09:00
Dean Herbert
7603f7eb36 Fix a few incorrectly updated arguments 2021-11-24 18:14:18 +09:00
Dean Herbert
0c819b9cfb Combine all test data BeatmapSetInfo creation into a single method 2021-11-24 18:07:32 +09:00
Dan Balasescu
74b6c33fab
Merge pull request #15778 from peppy/ruleset-info-id-usage
Update usages of `RulesetInfo.ID` to use `OnlineID` instead
2021-11-24 16:55:28 +09:00
Dean Herbert
f283770f34 Update mock RulesetInfo usage to set OnlineID instead of ID 2021-11-24 15:50:26 +09:00
Dean Herbert
44c34ca7b2 Revert changes causing BeatmapSet.Metadata to be expectedly null in some tests 2021-11-24 14:52:08 +09:00
Dean Herbert
8c60f37508 Fix cases of dynamically assigning Beatmaps to BeatmapSetInfo using list assignment 2021-11-24 13:27:37 +09:00
Dean Herbert
001f7c36f3 Use Equals in carousel tests for better realm compatibility 2021-11-22 17:20:21 +09:00
Bartłomiej Dach
15feb17da8
Change difficulty cache storage type to nullable
The recent changes related to adding support for working beatmap load
cancellation exposed a flaw in the beatmap difficulty cache. With the
way the difficulty computation logic was written, any error in the
calculation process (including beatmap load timeout, or cancellation)
would result in a 0.00 star rating being permanently cached in memory
for the given beatmap.

To resolve, change the difficulty cache's return type to nullable.
In failure scenarios, `null` is returned, rather than
`default(StarDifficulty)` as done previously.
2021-11-20 17:00:50 +01:00
Dean Herbert
a4953b5658 Update some remaining test usage of database ID 2021-11-17 20:56:57 +09:00
Dean Herbert
7c2e79f911 Update all simple cases of switching to IWorkingBeatmap 2021-11-17 20:56:57 +09:00
Dean Herbert
4856180912 Use new helper method 2021-11-15 19:19:53 +09:00
Dean Herbert
86b8fd3720 Fix TestSceneBeatmapRecommendations testing with an online ID of 0 2021-11-15 19:19:53 +09:00
Dean Herbert
692e846acd Rename BeatmapSetInfo.OnlineBeatmapSetID to OnlineID to match interface 2021-11-12 17:52:44 +09:00
Dean Herbert
6a098a8634 Rename BeatmapInfo.OnlineBeatmapID to OnlineID to match interface 2021-11-12 17:46:24 +09:00
Dean Herbert
51a353e12d Rename BeatmapInfo.Version to DifficultyName to match underlying interface 2021-11-11 17:20:53 +09:00
Dean Herbert
ebe58cee11 Rename BeatmapInfo.StarDifficulty to StarRating to match underlying interface 2021-11-11 17:19:46 +09:00
Dean Herbert
ed07ee8c61 Update all existing usages of AuthorString/AuthorId
Unfortunately the getters need to be left in place else EF breaks.
2021-11-04 18:59:37 +09:00
Dean Herbert
b9983add15 Rename User to APIUser and move to correct namespace 2021-11-04 18:21:31 +09:00
Dean Herbert
9c926e5514 Remove BeatmapSetInfo.OnlineInfo and all usages 2021-11-04 15:23:04 +09:00
Bartłomiej Dach
0d65493b56
Mark test usages of Ruleset.CreateInstance() as returning non-null 2021-11-01 12:12:21 +01:00
Dean Herbert
bb9769aa17 Fix null ruleset in another place 2021-10-29 20:12:12 +09:00
Dean Herbert
22c2f48e4d Fix more null rulesets 2021-10-29 19:05:42 +09:00
Dean Herbert
a16c8f1ebc Update all beatmap overlay views to use APIBeatmap/APIBeatmapSet 2021-10-29 18:50:55 +09:00
Dean Herbert
04acc7601c Fix one more missed case 2021-10-29 18:35:15 +09:00
Dean Herbert
07e3ced315 Fix test scene and remove "impossible" nullable coalesce 2021-10-29 18:22:23 +09:00
Dean Herbert
3598adb344 Fix test implementing old version of class 2021-10-29 17:04:56 +09:00
Dean Herbert
2c308f3008 Rename BeatmapMetrics to APIFailTimes 2021-10-25 15:34:41 +09:00
Dean Herbert
20baae9094 Move online metrics out of BeatmapInfo model 2021-10-25 15:32:18 +09:00
Dean Herbert
045dd94a6e Move online metrics out of BeatmapSetInfo model 2021-10-25 15:12:39 +09:00
Dean Herbert
3964e5c448 Fix test failure due to retyped class 2021-10-14 14:11:12 +09:00
smoogipoo
91c286b1ad Fix intermittent TestScenePlaySongSelect test failures 2021-10-12 22:07:57 +09:00
Dean Herbert
94153e8bba Fix TestDifficultyIconSelectingForDifferentRuleset potentially failing due to async load 2021-10-05 18:06:24 +09:00
Dan Balasescu
4bd1083388
Merge pull request #14903 from peppy/importer-returns-live
Add `ILive<T>` and use as return type of `Import` methods
2021-10-04 20:16:32 +09:00
smoogipoo
4871db2f86 Merge branch 'master' into importer-returns-live 2021-10-04 19:42:36 +09:00
Dean Herbert
853cf6feaa Rename last remaining BeatmapInfo Beatmap usage 2021-10-04 17:35:53 +09:00
Dean Herbert
ec61c3c5ee Rename all remaining cases 2021-10-03 00:55:29 +09:00
Dean Herbert
973c31132b Rename BeatmapInfo variables which were named beatmap for clarity 2021-10-02 12:45:34 +09:00
Dean Herbert
a2e61883e3 Initial push to use ILive in import process 2021-09-30 22:55:25 +09:00
Dean Herbert
9cf79a80c2 Replace many more calls to CreateAllMods with more specific calls 2021-09-10 12:04:55 +09:00
Dean Herbert
cf633973a9 Refactor exposed mod retrieval methods for better safety 2021-09-10 11:09:13 +09:00
smoogipoo
df7480e68c Fix bindable implementation being synchronous 2021-09-01 20:56:23 +09:00
Bartłomiej Dach
e4a8f72167
Add failing test case 2021-08-22 19:16:43 +02:00
Dean Herbert
7021133029 Merge branch 'master' into temporary-directory-test-storage 2021-08-20 11:54:33 +09:00
Dean Herbert
2758a83d55 Fix TestSettingsMigration's usage of RecycleLocalStorage 2021-08-18 16:39:10 +09:00
Salman Ahmed
eb6c6830bc Add visual test slider for changing star difficulty in beatmap wedge 2021-08-17 05:46:14 +03:00
Dean Herbert
665bd3690a Add a few cases of missing ConfigureAwait calls in tests project 2021-07-30 15:27:24 +09:00
Dean Herbert
78c74e97d1 Change to alternative formatting 2021-07-12 18:08:19 +09:00
Dean Herbert
3642febbb6 Fix one new incorrect formatting inspection from EAP6 2021-07-12 12:35:40 +09:00
Dean Herbert
ec71deec51 Remove some mentions of "lazer"
I am aware there are more throughout the codebase but intentionally left
the remaining mentioned for one reason or another. The intention here is
to mainly change user-facing versioning to change the positioning of the
"lazer" term (to be where we would expect "cuttingedge" or "beta" to
be).
2021-07-04 12:41:27 +09:00
Dean Herbert
fcb0b8d825 Add test coverage 2021-06-14 15:06:33 +09:00
Dean Herbert
b06477a1f5 Split out tests into individual test methods 2021-06-14 14:35:24 +09:00
Dean Herbert
b16d10bd95 Provide game-wide resources via IStorageResourceProvider 2021-05-31 18:57:47 +09:00
Dean Herbert
ba80361c4c Fix tests that were previously doing reference comparisons 2021-05-28 18:38:50 +09:00
Dean Herbert
5c44083856 Fix test potentially not waiting for drawable beatmaps to be loaded 2021-05-27 16:12:49 +09:00
Salman Ahmed
db361efecf Add test beatmap difficulty cache with calc. blocking support 2021-05-14 15:53:56 +03:00
Dean Herbert
52ce16f9f1
Merge branch 'master' into player-loader-star-rating 2021-05-10 12:46:10 +09:00
Dean Herbert
9ba412d27e Add the osu! logo to the test scene
Makes no sense to add a test intended to test visual behaviour with one
of the main elements missing. Not sure how you would be able to test the
flow with the logo's presence.
2021-05-10 12:44:08 +09:00
Dean Herbert
b7acf9de52 Make test work without manually clicking things 2021-05-10 12:36:56 +09:00
Dean Herbert
2b90bc4f1f Remove unnecessary ruleset switching steps 2021-05-10 12:35:37 +09:00