1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-18 00:42:55 +08:00
Commit Graph

201 Commits

Author SHA1 Message Date
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
Naxess
c13b93e6f1 Replace IWorkingBeatmap arg with BeatmapVerifierContext in checks
This simplifies passing of contextual information by enabling addition without needing to refactor lots of classes.

See next commit for example.
2021-05-12 02:29:18 +02:00
Naxess
5262d94e21 Fix wrong assert in offscreen test 2021-04-20 13:21:57 +02:00