1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-16 10:17:36 +08:00
Commit Graph

203 Commits

Author SHA1 Message Date
Bartłomiej Dach
6c819cba02
Add test coverage for regressed scenarios 2022-11-04 19:46:23 +01:00
Bartłomiej Dach
f787da892b
Merge branch 'master' into grid-momentary-shortcuts 2022-10-26 21:30:24 +02:00
Dean Herbert
cab9a1c012 Add test coverage of distance snap grid failing visually 2022-10-26 13:10:54 +09:00
Dean Herbert
5f10b81af1 Move distance snap grid test cursor behind grid to better visualise centre-points 2022-10-26 13:10:54 +09:00
Dean Herbert
cbcebfa130 Remove switch back to selection tool to simplify test flow 2022-10-26 12:18:56 +09:00
Dean Herbert
16ef0b09e8 Add test coverage of momentary toggles 2022-10-25 14:36:35 +09:00
Dean Herbert
a9755295e4 Update tests in line with new behaviour 2022-10-25 14:32:08 +09:00
Dean Herbert
6608ada925 Fix test failures due to missing colour provider dependency 2022-10-13 17:05:11 +09:00
OliBomby
b22e201289 Fixed stream convert float precision edge case 2022-10-08 23:43:23 +02:00
Dean Herbert
a15ea71aed
Merge branch 'master' into fix-merge-crash 2022-08-31 13:28:57 +09:00
Dean Herbert
706ac3e44f
Merge pull request #19982 from OliBomby/fix-illegal-merge
Fixed 0 length merge being allowed
2022-08-30 12:28:18 +09:00
OliBomby
ff2eac79d1 fix same time merge causing crash 2022-08-27 17:43:32 +02:00
OliBomby
16e0ec2f88 Fixed 0 length merge being allowed 2022-08-27 13:53:50 +02:00
Dean Herbert
90ff0864c0
Merge branch 'master' into no-gameplay-clock-editor-offset 2022-08-26 20:25:21 +09:00
Dean Herbert
69cbc0125b
Merge pull request #19964 from nanashi-1/merge-hitobject-hitsound-fix
Fix hitobjects merge feature in editor not adding any hitsounds
2022-08-26 20:05:02 +09:00
Dean Herbert
cb1c4a1bb1 Move sample checks to be inline in other existing tests 2022-08-26 19:18:15 +09:00
Dean Herbert
03dcfed384
Merge branch 'master' into slider-splitter 2022-08-26 19:10:33 +09:00
Dean Herbert
4b72e55770 Fix various test scenes not adding EditorClock to the draw hierarchy 2022-08-26 18:08:43 +09:00
nanashi-1
78717956d5 add visual test 2022-08-26 16:55:18 +08:00
nanashi-1
16fee7ac1c add visual test 2022-08-25 19:31:47 +08:00
OliBomby
631ea9a3ed added a gap between objects and made it theoretically possible to retain sample control point 2022-08-23 23:29:59 +02:00
OliBomby
7732fb21d5 fix code quality 2022-08-20 16:09:02 +02:00
OliBomby
614ae815c0 Added tests for making sure flipping and rotating retains perfect control point type 2022-08-20 15:57:39 +02:00
OliBomby
91e6f4c4ee fix TestPerfectCurveChangeToBezier 2022-08-19 19:31:47 +02:00
OliBomby
d1519343f6 Improved visual tests for slider splitting 2022-08-19 18:29:01 +02:00
OliBomby
89eb0a4079 Added TestScene for slider splitting 2022-08-19 01:10:54 +02:00
OliBomby
d021218d78 added test for objects which cant be merged 2022-08-16 23:05:35 +02:00
OliBomby
d140e0df14 remove nullable disable annotation 2022-08-15 21:15:23 +02:00
OliBomby
7c2ada9b20 Revert "remove copyright notice from new file"
This reverts commit b5e5411348.
2022-08-15 21:11:06 +02:00
OliBomby
b5e5411348 remove copyright notice from new file 2022-08-15 18:07:55 +02:00
OliBomby
d261be8734 added visual tests 2022-08-15 17:19:04 +02:00
Dean Herbert
5a7d339cc8 Centralise and harden editor-ready-for-use check
Not only does this combine the check into one location, but it also adds
a check on the global `WorkingBeatmap` being updated, which is the only
way I can see the following failure happening:

```csharp
05:19:07     osu.Game.Tests: osu.Game.Tests.Visual.Editing.TestSceneEditorBeatmapCreation.TestAddAudioTrack
05:19:07       Failed TestAddAudioTrack [161 ms]
05:19:07       Error Message:
05:19:07        TearDown : System.NullReferenceException : Object reference not set to an instance of an object.
05:19:07       Stack Trace:
05:19:07       --TearDown
05:19:07        at osu.Game.Database.ModelManager`1.<>c__DisplayClass7_0.<AddFile>b__0(TModel managed) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 36
05:19:07        at osu.Game.Database.ModelManager`1.<>c__DisplayClass8_0.<performFileOperation>b__0(Realm realm) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 49
05:19:07        at osu.Game.Database.RealmExtensions.Write(Realm realm, Action`1 function) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\RealmExtensions.cs:line 14
05:19:07        at osu.Game.Database.ModelManager`1.performFileOperation(TModel item, Action`1 operation) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 46
05:19:07        at osu.Game.Database.ModelManager`1.AddFile(TModel item, Stream contents, String filename) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 36
05:19:07        at osu.Game.Screens.Edit.Setup.ResourcesSection.ChangeAudioTrack(FileInfo source) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Screens\Edit\Setup\ResourcesSection.cs:line 115
05:19:07        at osu.Game.Tests.Visual.Editing.TestSceneEditorBeatmapCreation.<TestAddAudioTrack>b__13_0() in C:\BuildAgent\work\ecd860037212ac52\osu.Game.Tests\Visual\Editing\TestSceneEditorBeatmapCreation.cs:line 101
05:19:07        at osu.Framework.Testing.Drawables.Steps.AssertButton.checkAssert()
05:19:07        at osu.Framework.Testing.Drawables.Steps.StepButton.PerformStep(Boolean userTriggered)
05:19:07        at osu.Framework.Testing.TestScene.runNextStep(Action onCompletion, Action`1 onError, Func`2 stopCondition)
```
2022-06-27 16:22:01 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dean Herbert
f22ff4e087 Remove editor animation toggling (replaced by overlap markers) 2022-05-12 19:28:56 +09:00
Dean Herbert
fda61943b0 Update distance snap test when cursor at centre of grid to be in line with expectations 2022-05-12 13:11:55 +09:00
Salman Ahmed
b119726b28 Reword test step 2022-05-06 15:38:38 +03:00
Dean Herbert
daed42513e Fix outdated test asserts 2022-05-06 18:44:25 +09:00
Dean Herbert
9fd98b8060 Also add test coverage of adjsuting the distance spacing multiplier 2022-05-05 18:49:12 +09:00
Dean Herbert
4fe23bced2 Update tests with new assumptions and a better snap implementation 2022-05-05 18:49:12 +09:00
Salman Ahmed
269e15c167 Add test coverage of distance spacing multiplier working with distance snap grid 2022-05-05 18:49:12 +09:00
Dean Herbert
de9b3d33eb Rename misleading DistanceSpacing variable 2022-05-05 17:08:09 +09:00
Dean Herbert
19cf9dc20b Merge branch 'snapping-tidy-distance' 2022-05-05 16:51:32 +09:00
Dean Herbert
977e6d8a80 Add xmldoc for IDistanceSnapProvider and related properties 2022-05-05 16:25:45 +09:00
Dean Herbert
f6fc926f1a Add xmldoc and rename methods in IPositionSnapProvider for legibility 2022-05-05 15:58:21 +09:00
Salman Ahmed
fef94d49f4 Revert "Convert data type of DistanceSpacing to float"
This reverts commit 7aaa88cac2.
2022-04-29 08:02:07 +03:00
Salman Ahmed
abb88b0907 Move distance spacing application to DistanceSnapGrid 2022-04-28 10:54:38 +03:00
Salman Ahmed
7aaa88cac2 Convert data type of DistanceSpacing to float 2022-04-28 10:24:36 +03:00
Salman Ahmed
2e8372fe90 Minor cleanup
Just from reading diff.
2022-04-28 07:14:43 +03:00
Salman Ahmed
a5defbe496 Keep distance spacing reset to one on test scenes with slider snapping for now 2022-04-28 06:44:50 +03:00
Salman Ahmed
835898dd30 Introduce DistancedHitObjectComposer and supersede OsuToolboxComposite 2022-04-28 06:44:50 +03:00
Salman Ahmed
8ed39009fd Encapsulate distance spacing control handling to a "distance toolbox composite"
Encapsulated in a way which can allow further extensibility for the
right-side area of toolboxes.
2022-04-24 08:33:03 +03:00
Salman Ahmed
70a93c0e7e Move DistanceSpacingMultiplier bindable to its own IDistanceSnapProvider interface 2022-04-24 08:33:00 +03:00
Salman Ahmed
4f8f27a58b Merge branch 'master' into osu-distance-spacing 2022-04-24 05:23:30 +03:00
Bartłomiej Dach
a1786f62d7
Fix test failure due to attempting to set non-present divisor
With the latest changes permitting fully custom beat snapping, the 1/3
snap divisor isn't immediately available in editor, requiring a switch
to "triplets" mode first.
2022-02-27 23:10:22 +01:00
Salman Ahmed
8b30c847f9 Update outdated bindable casts in tests 2022-02-16 08:39:08 +03:00
Salman Ahmed
0992bec2c8 Change "distance spacing" multipler type to double
Avoids losing precision on initial load, causing an unnecessary
hash change in `EditorChangeHandler`.

Resolves test failures in `TestSceneEditorChangeStates`
(https://github.com/ppy/osu/runs/5192493482?check_suite_focus=true).
2022-02-16 03:28:12 +03:00
Salman Ahmed
500322ff21 Update failing snap test scenes 2022-02-15 02:21:53 +03:00
Salman Ahmed
528dc03b8c Expose distance spacing in IPositionSnapProvider for updating distance grid
Alternate method is to expose a `SnapDistancesChanged` event in
`IPositionSnapProvider` instead, but I chose this way as an analogue to
`IBeatSnapProvider.BeatDivisor`, which might even make sense to be
exposed as `BindableBeatDivisor` instead of caching that separately.
2022-02-15 02:21:53 +03:00
Dean Herbert
deaff340d2 Add test coverage of saving velocity 2022-01-24 19:43:18 +09:00
Dean Herbert
7f65f3a47f Remove all usage of BaseDifficulty (and access Difficulty instead) 2022-01-18 22:57:39 +09:00
Dean Herbert
b5f670cc5b Add far too many fixes for ruleset non-nullable requirements 2022-01-12 23:24:11 +09:00
Bartłomiej Dach
d2f44813dd
Add test coverage for slider snapping when adding/removing control points 2022-01-07 15:47:02 +01:00
Bartłomiej Dach
814b318a10
Add test coverage of slider end snapping behaviour 2022-01-07 15:47:02 +01:00
Bartłomiej Dach
29b42402a3
Add failing test for drag after placement moving last placed point sometimes 2021-12-23 09:06:03 +01:00
Bartłomiej Dach
ef20182a34
Rewrite test to check selection state during and after new control point placement 2021-12-22 10:57:39 +01:00
Bartłomiej Dach
307d3709e0
Add failing test steps for selection behaviour on new point creation 2021-12-22 09:32:38 +01:00
Bartłomiej Dach
9973db3981
Add failing test steps for right click behaviour 2021-12-22 08:40:17 +01:00
Bartłomiej Dach
adfadc13f7
Add test case for dragging selection including slider head 2021-12-21 12:34:55 +01:00
Bartłomiej Dach
b311308ada
Add more comprehensive test of multiple selection 2021-12-20 22:41:24 +01:00
Bartłomiej Dach
cdb587d956
Add more test steps for input handling edge cases 2021-12-20 21:51:56 +01:00
Bartłomiej Dach
d2417beeac
Implement drag operation for multiple path control points 2021-12-20 21:29:57 +01:00
Bartłomiej Dach
fbba8293c7
Add failing test for expected multiple path drag UX 2021-12-20 21:01:11 +01:00
Bartłomiej Dach
8aa04864ce
Add support for converting sliders with repeats to streams 2021-11-11 23:25:49 +01:00
Bartłomiej Dach
0cd3f98598
Ensure samples & sample points are carried over during conversion 2021-11-11 21:43:06 +01:00
Bartłomiej Dach
d9494d405e
Add test coverage for slider-to-stream conversion 2021-11-11 21:01:30 +01:00
smoogipoo
bc37cb6f43 Merge branch 'master' into no-more-difficulty-control-points-info 2021-10-08 18:41:17 +09:00
Dean Herbert
b339c149d8 Copy BaseDifficulty to Beatmap<T> and move all write operations across 2021-10-06 15:10:45 +09:00
Dean Herbert
a92d499d7a Convert usages of BeatmapDifficulty to IBeatmapDifficultyInfo 2021-10-01 16:55:50 +09:00
Dean Herbert
46bafb6252 Merge branch 'master' into no-more-difficulty-control-points-info 2021-09-28 13:53:56 +09:00
Dean Herbert
4cdce69f7e Update test to match test beamap data 2021-09-21 23:45:03 +09:00
Bartłomiej Dach
d15bd5a15e
Store grid size back to beatmap on change 2021-09-20 20:39:39 +02:00
Bartłomiej Dach
0d7dac03f4
Start with largest grid size 2021-09-20 20:34:22 +02:00
Bartłomiej Dach
fe21577f11
Adjust grid snap in line with new logic 2021-09-20 20:32:34 +02:00
Bartłomiej Dach
4e094b2127
Implement grid size toggling matching stable 2021-09-19 20:26:02 +02:00
Bartłomiej Dach
c403e628dd
Add test coverage for distance/rectangular grid exclusivity 2021-09-19 18:08:34 +02:00
Dean Herbert
d4e5a612ea Update IPositionalSnapProvider to take a HitObject as reference, rather than raw time
This allows fetching the correct `DifficultyControlPoint` from the
hitobject. Nothing more.
2021-09-03 17:11:12 +09:00
Dean Herbert
e15198f077 Update missed tests 2021-08-26 13:47:10 +09:00
Dean Herbert
6dcd9427ac Remove bindable usage in PathControlPoint
This is quite a breaking change, but I think it is beneficial due to the large amount of usage of this class.

I originally intended just to remove the allocations of the two delegates handling the `Changed` flow internally, but as nothing was really using the bindables for anything more than a general "point has changed" case, this felt like a better direction.
2021-08-26 12:33:53 +09:00
Naxess
53c0298b5e Add too short spinners check and tests 2021-07-13 10:51:40 +02:00
Naxess
fec9448301 Add too short sliders check and tests 2021-07-13 10:50:41 +02:00
Dean Herbert
6c3d2315d0
Merge pull request #13606 from Naxesss/low-diff-checks
Add low difficulty spacing checks
2021-06-22 16:29:37 +09:00
Naxess
629c98e6a0 Add time distance equality tests 2021-06-21 15:34:11 +02:00
Naxess
e11139eadf Add low difficulty overlap tests
Moq is introduced to mock sliders' end time/position. This is already used similarly in `osu.Game.Tests`.
2021-06-21 15:33:50 +02:00
Bartłomiej Dach
fe48ddfee3 Also cover slider animation disable 2021-06-18 16:04:11 +02:00
Bartłomiej Dach
e2a370f602 Add coverage for hit circle fade-out duration 2021-06-18 16:04:11 +02:00
Bartłomiej Dach
69c1cd5b34 Add failing test case for hit circle animations disable 2021-06-18 16:04:11 +02:00
Dean Herbert
a96603f025
Merge pull request #12782 from smoogipoo/rework-hitobject-blueprints
Rename hitobject blueprints and tie them to HitObjects
2021-05-18 16:30:58 +09:00
smoogipoo
532c41c82e Remove nested blueprints from sliders 2021-05-18 14:19:11 +09:00
smoogipoo
ffb6135a1b Rework hitobject blueprints to take in hitobject models 2021-05-13 19:53:32 +09:00
Naxess
19800f5f7f Move IBeatmap arg into context 2021-05-13 11:24:22 +02:00