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
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
Naxess
8656176ab8
Add the playable beatmap as check argument
...
This is different from the working beatmap's `.Beatmap` property in that it is mutated by the ruleset/editor.
So hit objects, for example, are actually of type `Slider` and such instead of the legacy `ConvertSlider`.
This should be preferred over `workingBeatmap.Beatmap`.
2021-04-20 01:31:51 +02:00
Naxess
448574e7e6
Use WorkingBeatmap
instead of IBeatmap
...
This lets us access things like the background, track, etc. which are necessary for quality and filesize checks.
Also improves the structure of the `CheckBackgroundTest` class in the process.
2021-04-17 17:33:53 +02:00
Dean Herbert
b413ffae3e
Fix test going offscreen in headless execution
2021-04-16 18:54:33 +09:00
Dean Herbert
30e00cc4aa
Add test coverage of selection / scaling scenarios
2021-04-16 17:07:20 +09:00
Dean Herbert
401bf368a7
Merge branch 'fix-slider-scale-crash' into fix-slider-zero-length
2021-04-16 16:58:19 +09:00
Dean Herbert
ab1a1a1df4
Add failing test case due to div by zero
2021-04-16 16:55:17 +09:00
Dean Herbert
965a1ead36
Disallow zero-length slider blueprint placements
2021-04-16 14:38:30 +09:00
Dean Herbert
1ff4e2076f
Merge branch 'master' into verify-tab
2021-04-13 23:05:48 +09:00
Naxess
4618728bf0
Add test case
2021-04-13 11:35:12 +02:00
Naxess
98c25b2e71
Remove unused import
2021-04-13 10:33:08 +02:00
Dean Herbert
b45d7de4ec
Update asserts to use better nunit specifications
2021-04-13 15:04:01 +09:00
Dean Herbert
4837cef095
Use static for playfield centre positioning
2021-04-13 14:44:52 +09:00
Naxess
6d3f9fa9ce
Use is
class instead of Equals
with template index
...
Ensures ordering of `PossibleTemplates` does not affect tests.
2021-04-13 02:29:25 +02:00
Naxess
8a6dfcfae1
Add CheckOffscreenObjects
tests
2021-04-13 01:22:36 +02:00
Naxess
0af6d77192
Test for path type transfer
2021-04-09 11:03:38 +02:00
Naxess
2d94484566
Use lambda expression
...
Apparently CI dislikes this not being a lambda.
2021-04-08 12:49:46 +02:00
Naxess
7d2b54ca42
Add change to Bezier test
2021-04-08 12:32:45 +02:00
Naxess
4110d1675d
Add path type menu test cases
2021-04-08 11:46:52 +02:00
Naxess
9d02930709
Add regression test for type changes
2021-04-07 17:18:55 +02:00
Naxess
8621a6b4fe
Add margin to large segment test
...
Test ran fine on my end, but apparently not on the CI. This should make results a bit more consistent, hopefully.
2021-04-01 20:34:04 +02:00
Naxess
b8479a979f
Remove unused blueprint variable
2021-04-01 18:06:12 +02:00
Naxess
25afae5671
Fix broken test case
...
Seems this technically works, but only because of the edge case of being entirely linear, which the framework catches.
This fixes that.
2021-03-31 20:48:17 +02:00
Naxess
1718084dbc
Update/remove determinant tests
...
We now only change the path type based on the bounding box.
If the control points are too linear, the framework now handles the fallback to Bezier.
2021-03-31 20:08:39 +02:00
Naxess
0f4314c1d8
Add complete arc test
...
Ensures we can still make smaller circles properly.
2021-03-24 17:24:33 +01:00
Naxess
b4dc35f66b
Update large arc tests
...
Should now be more robust and readable.
2021-03-24 17:24:05 +01:00
Naxess
415797aadd
Fix broken control point drag test
...
Broken for 2 reasons:
- Assert checks the wrong control point.
- The exterior arc is now too big.
This fixes both.
2021-03-24 06:01:12 +01:00
Naxess
f80b3ada25
Add circular arc size tests
2021-03-24 05:54:48 +01:00
Naxess
7b395ed783
Add exterior arc test
2021-03-24 05:15:50 +01:00
Naxess
23a4d1c135
Shorten recovery test name
2021-03-24 05:15:28 +01:00
Naxess
6fbe530016
Fix coordinates
2021-03-24 05:14:35 +01:00
Naxess
847d44c7d9
Remove unnecessary length asserts
...
We don't actually care about the length (as this isn't what we're testing), just the type of the slider.
2021-03-24 05:13:37 +01:00
Naxess
7bae4ff43d
Add control point dragging tests
2021-03-24 05:06:04 +01:00
Naxess
323b875cea
Fix newlines/spaces
2021-03-22 17:32:40 +01:00
Naxess
15af57de95
Add path type recovery test
2021-03-22 15:59:59 +01:00
Naxess
3bddc4a75d
Add path type test
2021-03-22 15:59:45 +01:00
Naxess
a294f328fb
Add linear circular arc test
2021-03-21 06:30:17 +01:00
Dean Herbert
203c36f720
Rename file to match test name
2020-11-26 19:46:54 +09:00
Dean Herbert
9a08cc8c04
Add test coverage of beat snapping hit circles
2020-11-26 19:40:10 +09:00
Dean Herbert
ab1ad99c88
Fix failing test scene (was previously not snapped properly)
2020-11-26 19:33:51 +09:00
Dean Herbert
740b9fb3a0
Update test to cover non-ordered selection
2020-11-25 17:33:21 +09:00
Dean Herbert
4eef6c0d40
Add test coverage
2020-11-24 17:59:18 +09:00
Dean Herbert
09f2a85d71
Fix potential test failure due to precision check missing
2020-11-24 17:40:00 +09:00
Dean Herbert
c9a41f9dae
Make all objects in selection candidates for spatial snapping
...
Closes #10898 .
2020-11-24 17:35:54 +09:00
Joehu
ef3c918a3c
Simplify input buttons/keys in tests
2020-11-09 14:18:20 -08:00
smoogipoo
9a7fcadabc
Use BDL for top-level osu! DHOs
2020-11-05 13:51:46 +09:00
Dean Herbert
c41fb67e73
Move all ruleset editor tests to their own namespace
2020-09-25 18:51:26 +09:00
Dean Herbert
8a0c79466d
Use simplified methods for press/release key
2020-09-25 12:16:50 +09:00
Dean Herbert
15b1069099
Fix tests not being relative to screen space
2020-09-24 16:37:08 +09:00
Dean Herbert
ead6479442
Also test with distance snap enabled for sanity
2020-09-24 16:31:30 +09:00