public void TestSetNullBeatmapWhileLoading()
        {
            TestUpdateableBeatmapSetCover updateableCover = null;

            AddStep("setup cover", () => Child = updateableCover = new TestUpdateableBeatmapSetCover
            {
                BeatmapSet       = CreateBeatmap(Ruleset.Value).BeatmapInfo.BeatmapSet,
                RelativeSizeAxes = Axes.Both,
                Masking          = true,
            });

            AddStep("change model", () => updateableCover.BeatmapSet = null);
            AddWaitStep("wait some", 5);
            AddAssert("no cover added", () => !updateableCover.ChildrenOfType <DelayedLoadUnloadWrapper>().Any());
        }
        public void TestCoverChangeOnNewBeatmap()
        {
            TestUpdateableBeatmapSetCover updateableCover = null;
            BeatmapSetCover initialCover = null;

            AddStep("setup cover", () => Child = updateableCover = new TestUpdateableBeatmapSetCover(0)
            {
                BeatmapSet       = createBeatmapWithCover("https://assets.ppy.sh/beatmaps/1189904/covers/cover.jpg"),
                RelativeSizeAxes = Axes.Both,
                Masking          = true,
                Alpha            = 0.4f
            });

            AddUntilStep("cover loaded", () => updateableCover.ChildrenOfType <BeatmapSetCover>().Any());
            AddStep("store initial cover", () => initialCover = updateableCover.ChildrenOfType <BeatmapSetCover>().Single());
            AddUntilStep("wait for fade complete", () => initialCover.Alpha == 1);

            AddStep("switch beatmap",
                    () => updateableCover.BeatmapSet = createBeatmapWithCover("https://assets.ppy.sh/beatmaps/1079428/covers/cover.jpg"));
            AddUntilStep("new cover loaded", () => updateableCover.ChildrenOfType <BeatmapSetCover>().Except(new[] { initialCover }).Any());
        }