Beispiel #1
0
        public void SetupSteps()
        {
            AddStep("load dependencies", () =>
            {
                LoadScreen(dependenciesScreen = new DependenciesScreen());

                // The dependencies screen gets suspended so it stops receiving updates. So its children are manually added to the test scene instead.
                Children = new Drawable[]
                {
                    dependenciesScreen.UserLookupCache,
                    dependenciesScreen.SpectatorClient,
                };
            });

            AddUntilStep("wait for dependencies to load", () => dependenciesScreen.IsLoaded);

            AddStep("import beatmap", () =>
            {
                importedBeatmap   = BeatmapImportHelper.LoadOszIntoOsu(game, virtualTrack: true).GetResultSafely();
                importedBeatmapId = importedBeatmap.Beatmaps.First(b => b.Ruleset.OnlineID == 0).OnlineID;
            });
        }
Beispiel #2
0
        public void TestSongContinuesAfterExitPlayer(bool withUserPause)
        {
            Player player = null;

            IWorkingBeatmap beatmap() => Game.Beatmap.Value;

            Screens.Select.SongSelect songSelect = null;
            PushAndConfirm(() => songSelect = new TestPlaySongSelect());
            AddUntilStep("wait for song select", () => songSelect.BeatmapSetsLoaded);

            AddStep("import beatmap", () => BeatmapImportHelper.LoadOszIntoOsu(Game, virtualTrack: true).WaitSafely());

            AddUntilStep("wait for selected", () => !Game.Beatmap.IsDefault);

            if (withUserPause)
            {
                AddStep("pause", () => Game.Dependencies.Get <MusicController>().Stop(true));
            }

            AddStep("press enter", () => InputManager.Key(Key.Enter));

            AddUntilStep("wait for player", () =>
            {
                // dismiss any notifications that may appear (ie. muted notification).
                clickMouseInCentre();
                return((player = Game.ScreenStack.CurrentScreen as Player) != null);
            });

            AddUntilStep("wait for fail", () => player.GameplayState.HasFailed);

            AddUntilStep("wait for track stop", () => !Game.MusicController.IsPlaying);
            AddAssert("Ensure time before preview point", () => Game.MusicController.CurrentTrack.CurrentTime < beatmap().BeatmapInfo.Metadata.PreviewTime);

            pushEscape();

            AddUntilStep("wait for track playing", () => Game.MusicController.IsPlaying);
            AddAssert("Ensure time wasn't reset to preview point", () => Game.MusicController.CurrentTrack.CurrentTime < beatmap().BeatmapInfo.Metadata.PreviewTime);
        }
Beispiel #3
0
        public void TestOnlineScoreIsAvailableLocally()
        {
            using (HeadlessGameHost host = new CleanRunHeadlessGameHost())
            {
                try
                {
                    var osu = LoadOsuIntoHost(host, true);

                    var beatmap = BeatmapImportHelper.LoadOszIntoOsu(osu, TestResources.GetQuickTestBeatmapForImport()).GetResultSafely();

                    LoadScoreIntoOsu(osu, new ScoreInfo
                    {
                        User = new APIUser {
                            Username = "******"
                        },
                        BeatmapInfo = beatmap.Beatmaps.First(),
                        Ruleset     = new OsuRuleset().RulesetInfo,
                        OnlineID    = 2
                    }, new TestArchiveReader());

                    var scoreManager = osu.Dependencies.Get <ScoreManager>();

                    // Note: A new score reference is used here since the import process mutates the original object to set an ID
                    Assert.That(scoreManager.IsAvailableLocally(new ScoreInfo
                    {
                        User = new APIUser {
                            Username = "******"
                        },
                        BeatmapInfo = beatmap.Beatmaps.First(),
                        OnlineID    = 2
                    }));
                }
                finally
                {
                    host.Exit();
                }
            }
        }
Beispiel #4
0
 public override void SetUpSteps()
 {
     AddStep("import test beatmap", () => importedBeatmapSet = BeatmapImportHelper.LoadOszIntoOsu(game, virtualTrack: true).GetResultSafely());
     base.SetUpSteps();
 }
Beispiel #5
0
 private void load()
 {
     importedSet       = BeatmapImportHelper.LoadOszIntoOsu(game, virtualTrack: true).GetResultSafely();
     importedBeatmap   = importedSet.Beatmaps.First(b => b.Ruleset.OnlineID == 0);
     importedBeatmapId = importedBeatmap.OnlineID;
 }
Beispiel #6
0
        private void load(OsuGameBase osu, IAPIProvider api)
        {
            this.api = api;

            testBeatmap = BeatmapImportHelper.LoadOszIntoOsu(osu).GetResultSafely();
        }