Dean Herbert
16e752e07d
Add basic structure and test coverage for extended info on mod icon
2023-09-27 19:29:03 +09:00
Dean Herbert
a7237e48aa
Merge branch 'master' into fix-storyboard-skin-textures-lookup
2023-09-27 17:17:51 +09:00
Bartłomiej Dach
12585c9f27
Fix flaky editor beatmap creation test
...
Came up as a failure when locally running tests for
ppy/osu-framework#6001 - but the test is actually a previously-known
flaky that I couldn't reproduce the failure of until the aforementioned
PR.
This appears to be a simple race; the test scene queries the track
length from update thread, but the length is actually set on the audio
thread. So it's not unreasonable that given unlucky timing, the length
will not be set by `TrackBass` before it is queried.
To fix, switch assert to until step. I'm generally not really willing
to give this more time of day until this change is proven insufficient.
2023-09-26 16:42:59 +02:00
Dean Herbert
40a548d372
Adjust new test scene to not be super broken
2023-09-26 17:30:49 +09:00
Dean Herbert
990c54519b
Merge branch 'master' into limit-gameplay-sprite-dimensions
2023-09-26 16:40:32 +09:00
Dean Herbert
b1561b650f
Rename test scene, add xmldoc and increase scale factor to something absurdly high
2023-09-26 16:39:36 +09:00
Dean Herbert
2ca1c684bb
Merge branch 'master' into fix-storyboard-skin-textures-lookup
2023-09-26 14:05:27 +09:00
Dean Herbert
c40bd74138
Update usages of GameplayClockContainer
not using an adjustable source
2023-09-22 16:22:36 +09:00
Dean Herbert
8367bb6bee
Don't apply decoupling to SpectatorPlayerClock
s
...
See inline comment for reasoning. It's a bit complicated.
2023-09-22 16:22:35 +09:00
Dean Herbert
3f27be1f33
Replace most usages of DecoupleableInterpolatingFramedClock
...
Except `FramedBeatmapClock`, which is the high-effort one.
2023-09-22 12:49:25 +09:00
Bartłomiej Dach
e45d456324
Fix TestFriendScore
intermittently failing due to randomness
...
If `createRandomScore()` happened to randomly pick the highest total
score when called with `friend` as the sole argument, that particular
score would not be pink.
`GetScoreByUsername()` would arbitrarily pick the first score for the
user, so in this particular case where a friend had the number 1 score,
the test would wrongly fail.
Fix by checking whether any of the 3 added friend scores have received
the pink colour. Because there is more than 1 friend score in the test,
doing so ensures that at least one of those should eventually become
pink (because, obviously, you can't have two scores at number 1).
2023-09-21 21:12:44 +02:00
Bartłomiej Dach
9301a1907a
Rewrite TestFriendScore
assertions to constraint model
...
Allows to clearly see what the failure is:
TearDown : System.TimeoutException : "friend score is pink" timed out: Expected: some item equal to "#FF549A"
But was: < "#FFFFFF", "#7FCC33", "#444444 " >
The #7FCC33 colour is used for the first score on the leaderboard.
2023-09-21 21:05:41 +02:00
Bartłomiej Dach
d73f06fc89
Add test coverage for delete hotkey
2023-09-21 20:01:59 +02:00
Bartłomiej Dach
69ed99dfd5
Merge branch 'master' into mania-edit-disable-sv
2023-09-21 09:13:27 +02:00
Bartłomiej Dach
d7129da8ea
Fix TestSceneDrawableStoryboardSprite
not displaying anything
2023-09-20 12:05:23 +02:00
Dean Herbert
c5397bdbb3
Merge branch 'master' into mania-edit-disable-sv
2023-09-20 14:23:07 +09:00
Dean Herbert
1927b524db
Merge branch 'master' into leaderboard-friend-highlight
2023-09-20 14:14:08 +09:00
Dean Herbert
1316403180
Fix inspection in new test scene
2023-09-20 13:02:40 +09:00
Dean Herbert
2f020f8682
Add test coverage of storyboard preferring skin when specified
2023-09-19 20:20:20 +09:00
Dean Herbert
067c487b21
Merge pull request #24450 from cdwcgt/missing-beatmap
...
Fetch missing beatmap when importing replay
2023-09-19 18:40:02 +09:00
Dean Herbert
f726c38215
Pass ArchiveReader
instead of Stream
to simplify resolution code
2023-09-19 17:49:15 +09:00
Salman Ahmed
8e992de763
Fix crash when loading player instance without exiting previous instance
2023-09-19 05:09:01 +03:00
Salman Ahmed
a373d71b3e
Add basic test scene upscaling all skin elements
2023-09-19 03:40:31 +03:00
Salman Ahmed
57dc76b345
Revert "Update GetTexture
signature rather than creating new overload"
...
This reverts commit 96f12cfbaa
.
2023-09-19 03:21:19 +03:00
Bartłomiej Dach
775f96f061
Add very basic visual tests for missing beatmap notification
...
The full-stack test using the whole 9 `OsuGameTest` yards is unusable
for rapid development. I don't really get how you could ever design
anything using it without tossing your computer out the window.
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
06d1a2a316
Merge branch 'beatmap-card-nano' into missing-beatmap
2023-09-18 14:56:06 +02:00
Dean Herbert
f3b6aa5435
Merge pull request #24821 from bdach/scoring-test-scene-osu
...
Refactor scoring test scene for ruleset extensibility (and move existing instance to osu! ruleset project)
2023-09-18 19:54:14 +09:00
Bartłomiej Dach
5c2413c06b
Implement nano beatmap card
2023-09-18 11:30:14 +02:00
Bartłomiej Dach
3709861132
Merge pull request #24814 from LukynkaCZE/parse-only-supported-char-uris
...
Parse only supported schemes as URIs
2023-09-18 10:20:09 +02:00
Bartłomiej Dach
45751dd1f2
Minimum viable changes for ruleset-specific scoring test scenes
2023-09-15 12:58:29 +02:00
Lukynka CZE
2a18f76b02
add visual test
2023-09-14 17:48:10 +02:00
Dean Herbert
32946413de
Change display text from "difficulty" to "score" multiplier
2023-09-13 20:01:19 +09:00
Dean Herbert
35840bf671
Combine ModCounterDisplay
and DifficultyMultiplierDisplay
into one class
2023-09-13 18:51:56 +09:00
Bartłomiej Dach
7c65a9de75
Fix Score V1 simulation in scoring test scene incorrectly applying multiplier
...
`TestSceneScoring` included a local simulation of stable's Score V1
algorithm. One of the parts of said algorithm is a mysterious
"score multiplier", influenced by - among others - the beatmap's drain
rate, overall difficulty, circle size, object count, drain length,
and active mods. (An implementation of this already exists in lazer
source, in `OsuLegacyScoreSimulator`, but more on this later.)
However, `TestSceneScoring` had this multiplier in _two_ places, with
_two_ distinct values, one of which being 1 (i.e. basically off).
Unfortunately, the place that had 1 as the multiplier was the wrong one.
Stable calculates the score increase for every hit in two stages;
first, it takes the raw numerical value of the judgement, but then
applies a combo-based bonus on top of it:
scoreIncrease += (int)(Math.Max(0, ComboCounter.HitCombo - 1) * (scoreIncrease / 25 * ScoreMultiplier));
On the face of it, it may appear that the `ScoreMultiplier` factor
can be factored out and applied at the end only when returning total
score. However, once the above formula is rewritten as:
scoreIncrease = scoreIncrease + (int)(Math.Max(0, ComboCounter.HitCombo - 1) * (scoreIncrease / 25 * ScoreMultiplier));
= scoreIncrease * (1 + (Math.Max(0, ComboCounter.HitCombo - 1) / 25 * ScoreMultiplier))
it becomes clear that that assumption is actually _incorrect_,
and the `ScoreMultiplier` _must_ be applied to every score increase
individually.
The above was cross-checked experimentally against stable source
on an example test map with 100 objects, and a replay hitting them
perfectly.
2023-09-12 21:33:26 +02:00
Bartłomiej Dach
3981e2e957
Only show visible graph values in tooltip
2023-09-12 13:29:02 +02:00
Bartłomiej Dach
15708ee465
Add toggle for showing relative/absolute score values
2023-09-12 13:27:40 +02:00
Bartłomiej Dach
607ceeccb9
Persist visibility state of graphs
2023-09-12 12:19:50 +02:00
Bartłomiej Dach
3cf8082aa7
Add capability to toggle visibility of graph
2023-09-12 12:07:12 +02:00
Bartłomiej Dach
95d15a703e
Improve legibility of scoring test scene
...
- Add black background to avoid clashes with background images.
- Use sorta-tetradic colours for the four plots.
2023-09-12 11:36:41 +02:00
Dean Herbert
0d7157f727
Merge branch 'master' into map_info_on_mod_settings
2023-09-12 17:16:47 +09:00
Dean Herbert
7e3652284d
Adjust various class naming and add some xmldoc
2023-09-12 17:15:16 +09:00
Dean Herbert
b4bedee49e
Adjust naming of component to give more context
2023-09-12 15:43:59 +09:00
tsrk.
dbc07bc6dc
fix: provide OverlayColourProvider
as a dep in tests
2023-09-12 01:34:17 +02:00
Bartłomiej Dach
824416067e
Fix test failure
2023-09-11 20:53:17 +02:00
tsrk.
8c137353b6
feat: integrate previous usernames tooltip to profile overlay
2023-09-11 15:02:19 +02:00
Bartłomiej Dach
f9d4fbee56
Add collapsed state to effect preview panel
2023-09-11 10:16:24 +02:00
Bartłomiej Dach
589f56d20c
Merge branch 'master' into map_info_on_mod_settings
2023-09-11 09:55:54 +02:00
Bartłomiej Dach
53c30dca64
Fix data flow being sometimes incorrect
2023-09-11 09:53:58 +02:00
Bartłomiej Dach
a631fae6df
Add actual testing
2023-09-11 09:19:37 +02:00
Dean Herbert
87ec33bb66
Tidy up test
2023-09-07 14:50:22 +09:00
Joseph Madamba
5ee412cc9a
Use @2x
variant of profile badges
2023-09-06 16:17:53 -07:00
cdwcgt
68752f95e5
color friend score to pink
2023-09-06 22:58:03 +09:00
Dean Herbert
1a37543d28
Rename SliderVelocity
to SliderVelocityMultiplier
to distinguish from Velocity
2023-09-06 19:01:08 +09:00
Bartłomiej Dach
eddb879973
Merge pull request #24722 from peppy/beatmap-status-pill-animation
...
Add animation support for beatmap status pills
2023-09-06 09:59:21 +02:00
Bartłomiej Dach
b5e812eb3e
Merge pull request #24723 from bdach/beatmap-carousel-split-missing-status
...
Fix status on carousel beatmap set not showing in split difficulty mode
2023-09-06 09:35:38 +02:00
Bartłomiej Dach
b884f1af4a
Assign random statuses to beatmap sets in carousel test
...
Just to have visual coverage of the statuses before fixing them not
propagating to split difficulty mode.
2023-09-06 08:25:07 +02:00
Dean Herbert
dded7fe6ca
Merge branch 'master' into beatmap-options-popover
2023-09-06 15:16:34 +09:00
Dean Herbert
034c887dcb
Add animation support for beatmap status pills
...
To be used in conjunction with https://github.com/ppy/osu/pull/22116
2023-09-06 15:04:25 +09:00
Joseph Madamba
3f92dae55c
Move star rating display and status pill out of reloadable content
2023-09-05 15:20:20 -07:00
Joseph Madamba
676240928e
Move actual star updating to star rating display
2023-09-05 14:57:55 -07:00
Dean Herbert
96f12cfbaa
Update GetTexture
signature rather than creating new overload
2023-09-05 18:01:19 +09:00
Dean Herbert
02fefff5e7
Add better testing of options popover
2023-09-05 16:44:46 +09:00
Dean Herbert
340edf68d3
Fix test scene not updating all star counters
2023-09-05 15:59:00 +09:00
Joseph Madamba
9451613391
Rename null beatmap test to indicate there's a background
2023-09-04 21:39:41 -07:00
Joseph Madamba
854bb323cc
Remove weird red edge effect visibility
2023-09-04 21:21:55 -07:00
Joseph Madamba
e0a9c7e9a9
Fix wedge showing abruptly in test
2023-09-04 14:54:58 -07:00
Joseph Madamba
2df2002735
Move negative corner radius margin to constructor
2023-09-04 12:42:01 -07:00
Joseph Madamba
2fbd67cf26
Merge branch 'master' into beatmap_wedge_clean_ii
2023-09-04 11:24:20 -07:00
Joseph Madamba
5abf271b56
Implement beatmap options popover
2023-09-04 00:53:09 -07:00
cdwcgt
58844092d6
post a notification instead a screen
2023-09-04 16:17:21 +09:00
cdwcgt
dfecddbf5d
Merge branch 'master' into missing-beatmap
2023-09-04 12:41:23 +09:00
Magnus-Cosmos
ae9c901b94
Fix BeatmapInfoWedge
tests failing due to BPM
2023-09-03 01:45:22 -04:00
Dean Herbert
0f5eff1230
Merge branch 'master' into mania-edit-disable-sv
2023-09-01 19:08:48 +09:00
Bartłomiej Dach
118c86df34
Fix TestSceneUpdateBeatmapSetButton
using random difficulty count
2023-08-28 14:57:00 +02:00
Bartłomiej Dach
6251803868
Add failing test coverage of selection not being retained on song select
2023-08-28 10:05:59 +02:00
Bartłomiej Dach
3a6920c306
Add failing test coverage of beatmap update flow w/ split diffs
2023-08-28 09:51:44 +02:00
Dean Herbert
84f4fab9cf
Adjust test to actually test diff splitting
2023-08-25 18:09:51 +09:00
Dean Herbert
b471ab07a6
Fix typo in test step
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-08-24 18:30:59 +09:00
Dean Herbert
ba70d48d2c
Fix one more test probably going off-screen
2023-08-24 13:31:33 +09:00
Dean Herbert
4881130cae
Limit set/diff count in test to better fit on screen
2023-08-24 03:32:12 +09:00
Dean Herbert
5eac604f8b
Add coverage of selection retention when difficulties are split out
2023-08-23 19:44:42 +09:00
Dean Herbert
a64381f855
Add test coverage of add/remove when difficulties are split out
2023-08-23 19:43:08 +09:00
Dean Herbert
5555f73e97
Update test to match new behaviour
2023-08-23 19:38:18 +09:00
Dean Herbert
e7d61e0002
Fix star fountain directions not matching stable
2023-08-21 17:59:24 +09:00
Bartłomiej Dach
90bef267c8
Merge pull request #24581 from OliBomby/fix-segment-ends
...
Fix `SliderPath.GetSegmentEnds`
2023-08-21 09:29:13 +02:00
Bartłomiej Dach
479c463751
Explain why segment end positions are not recovered in test
2023-08-21 08:29:51 +02:00
Bartłomiej Dach
3d52a1267e
Fix test failures via test-local popover containers
2023-08-19 15:08:30 +02:00
Bartłomiej Dach
2b09594823
Use nunit constraints in test for better debug experience
2023-08-19 14:33:26 +02:00
OliBomby
fbf4d3ac81
Add test
2023-08-18 12:36:34 +02:00
Dan Balasescu
a2fd7707a1
Allow toggling SVs in the editor
2023-08-18 18:55:24 +09:00
Dean Herbert
59a31cc868
Merge pull request #24431 from bdach/slider-with-textbox-instantaneous
...
Add instantaneous mode to `SliderWithTextBoxInput`
2023-08-16 20:10:52 +09:00
Bartłomiej Dach
f9ca7f3e0e
Merge pull request #24564 from peppy/multi-spectator-test-improvements
...
Add various testing improvements to various tournament components
2023-08-16 12:29:36 +02:00
Bartłomiej Dach
bdf87e43db
Merge branch 'master' into slider-with-textbox-instantaneous
2023-08-16 10:48:45 +02:00
Dean Herbert
26d05afadc
Add more test coverage to multi spectator screen
2023-08-16 17:14:42 +09:00
Dean Herbert
56eb44d15b
Change TestSpectatorClient
to provide some better fake data for score / acc
2023-08-16 17:14:42 +09:00
Bartłomiej Dach
4f47b196c1
Merge branch 'master' into fix-unsafe-realm-access
2023-08-16 09:59:17 +02:00
Dean Herbert
a8824c8c8a
Remove flaky test documentation for fixed test
2023-08-16 14:30:10 +09:00
cdwcgt
e7b34cd4da
declare BeatmapSet is not null
2023-08-14 03:43:16 +09:00
Bartłomiej Dach
4152b4e523
Remove duplicated test case
2023-08-12 22:46:18 +02:00
QuantumSno
e9bb9434e9
Merge remote-tracking branch 'origin/leaderboard-toggle' into leaderboard-toggle
2023-08-12 00:19:48 -04:00