|
2 | 2 | // See the LICENCE file in the repository root for full licence text.
|
3 | 3 |
|
4 | 4 | using System.Collections.Generic;
|
5 |
| -using System.Linq; |
6 | 5 | using System.Threading.Tasks;
|
7 | 6 | using NUnit.Framework;
|
8 |
| -using osu.Framework.Graphics.Primitives; |
9 |
| -using osu.Framework.Testing; |
10 | 7 | using osu.Framework.Utils;
|
11 | 8 | using osu.Game.Beatmaps;
|
12 | 9 | using osu.Game.Screens.Select;
|
13 | 10 | using osu.Game.Screens.Select.Filter;
|
14 |
| -using osu.Game.Screens.SelectV2; |
15 | 11 | using osu.Game.Tests.Resources;
|
16 | 12 |
|
17 | 13 | namespace osu.Game.Tests.Visual.SongSelect
|
18 | 14 | {
|
19 | 15 | /// <summary>
|
20 |
| - /// Currently covers adding and removing of items and scrolling. |
21 |
| - /// If we add more tests here, these two categories can likely be split out into separate scenes. |
| 16 | + /// Covers common steps which can be used for manual testing. |
22 | 17 | /// </summary>
|
23 | 18 | [TestFixture]
|
24 | 19 | public partial class TestSceneBeatmapCarouselV2Basics : BeatmapCarouselV2TestScene
|
25 | 20 | {
|
26 | 21 | [Test]
|
| 22 | + [Explicit] |
27 | 23 | public void TestBasics()
|
28 | 24 | {
|
29 |
| - AddBeatmaps(10); |
30 |
| - AddBeatmaps(10, randomMetadata: true); |
31 |
| - AddBeatmaps(1); |
32 |
| - RemoveFirstBeatmap(); |
| 25 | + CreateCarousel(); |
33 | 26 | RemoveAllBeatmaps();
|
34 |
| - } |
35 |
| - |
36 |
| - [Test] |
37 |
| - public void TestOffScreenLoading() |
38 |
| - { |
39 |
| - AddStep("disable masking", () => Scroll.Masking = false); |
40 |
| - AddStep("enable masking", () => Scroll.Masking = true); |
41 |
| - } |
42 | 27 |
|
43 |
| - [Test] |
44 |
| - public void TestAddRemoveOneByOne() |
45 |
| - { |
46 |
| - AddRepeatStep("add beatmaps", () => BeatmapSets.Add(TestResources.CreateTestBeatmapSetInfo(RNG.Next(1, 4))), 20); |
47 |
| - AddRepeatStep("remove beatmaps", () => BeatmapSets.RemoveAt(RNG.Next(0, BeatmapSets.Count)), 20); |
| 28 | + AddBeatmaps(10, randomMetadata: true); |
| 29 | + AddBeatmaps(10); |
| 30 | + AddBeatmaps(1); |
48 | 31 | }
|
49 | 32 |
|
50 | 33 | [Test]
|
| 34 | + [Explicit] |
51 | 35 | public void TestSorting()
|
52 | 36 | {
|
53 |
| - AddBeatmaps(10); |
| 37 | + SortBy(new FilterCriteria { Sort = SortMode.Artist }); |
54 | 38 | SortBy(new FilterCriteria { Group = GroupMode.Difficulty, Sort = SortMode.Difficulty });
|
55 | 39 | SortBy(new FilterCriteria { Group = GroupMode.Artist, Sort = SortMode.Artist });
|
56 |
| - SortBy(new FilterCriteria { Sort = SortMode.Artist }); |
57 | 40 | }
|
58 | 41 |
|
59 | 42 | [Test]
|
60 |
| - public void TestScrollPositionMaintainedOnAddSecondSelected() |
| 43 | + [Explicit] |
| 44 | + public void TestRemovals() |
61 | 45 | {
|
62 |
| - Quad positionBefore = default; |
63 |
| - |
64 |
| - AddBeatmaps(10); |
65 |
| - WaitForDrawablePanels(); |
66 |
| - |
67 |
| - AddStep("select middle beatmap", () => Carousel.CurrentSelection = BeatmapSets.ElementAt(BeatmapSets.Count - 2)); |
68 |
| - AddStep("scroll to selected item", () => Scroll.ScrollTo(Scroll.ChildrenOfType<BeatmapPanel>().Single(p => p.Selected.Value))); |
69 |
| - |
70 |
| - WaitForScrolling(); |
71 |
| - |
72 |
| - AddStep("save selected screen position", () => positionBefore = Carousel.ChildrenOfType<BeatmapPanel>().FirstOrDefault(p => p.Selected.Value)!.ScreenSpaceDrawQuad); |
73 |
| - |
74 | 46 | RemoveFirstBeatmap();
|
75 |
| - WaitForSorting(); |
76 |
| - |
77 |
| - AddAssert("select screen position unchanged", () => Carousel.ChildrenOfType<BeatmapPanel>().Single(p => p.Selected.Value).ScreenSpaceDrawQuad, |
78 |
| - () => Is.EqualTo(positionBefore)); |
| 47 | + RemoveAllBeatmaps(); |
79 | 48 | }
|
80 | 49 |
|
81 | 50 | [Test]
|
82 |
| - public void TestScrollPositionMaintainedOnAddLastSelected() |
| 51 | + [Explicit] |
| 52 | + public void TestAddRemoveRepeatedOps() |
83 | 53 | {
|
84 |
| - Quad positionBefore = default; |
85 |
| - |
86 |
| - AddBeatmaps(10); |
87 |
| - WaitForDrawablePanels(); |
88 |
| - |
89 |
| - AddStep("scroll to last item", () => Scroll.ScrollToEnd(false)); |
90 |
| - |
91 |
| - AddStep("select last beatmap", () => Carousel.CurrentSelection = BeatmapSets.Last()); |
92 |
| - |
93 |
| - WaitForScrolling(); |
94 |
| - |
95 |
| - AddStep("save selected screen position", () => positionBefore = Carousel.ChildrenOfType<BeatmapPanel>().FirstOrDefault(p => p.Selected.Value)!.ScreenSpaceDrawQuad); |
| 54 | + AddRepeatStep("add beatmaps", () => BeatmapSets.Add(TestResources.CreateTestBeatmapSetInfo(RNG.Next(1, 4))), 20); |
| 55 | + AddRepeatStep("remove beatmaps", () => BeatmapSets.RemoveAt(RNG.Next(0, BeatmapSets.Count)), 20); |
| 56 | + } |
96 | 57 |
|
97 |
| - RemoveFirstBeatmap(); |
98 |
| - WaitForSorting(); |
99 |
| - AddAssert("select screen position unchanged", () => Carousel.ChildrenOfType<BeatmapPanel>().Single(p => p.Selected.Value).ScreenSpaceDrawQuad, |
100 |
| - () => Is.EqualTo(positionBefore)); |
| 58 | + [Test] |
| 59 | + [Explicit] |
| 60 | + public void TestMasking() |
| 61 | + { |
| 62 | + AddStep("disable masking", () => Scroll.Masking = false); |
| 63 | + AddStep("enable masking", () => Scroll.Masking = true); |
101 | 64 | }
|
102 | 65 |
|
103 | 66 | [Test]
|
|
0 commit comments