public void TestSetNullBeatmapWhileLoading()
        {
            TestUpdateableOnlineBeatmapSetCover updateableCover = null;

            AddStep("setup cover", () => Child = updateableCover = new TestUpdateableOnlineBeatmapSetCover
            {
                OnlineInfo       = CreateAPIBeatmapSet(),
                RelativeSizeAxes = Axes.Both,
                Masking          = true,
            });

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

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

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

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