Ejemplo n.º 1
0
        public void TestSettingsNotCrossPolluting()
        {
            Bindable <IReadOnlyList <Mod> > selectedMods2 = null;
            ModSelectScreen modSelectScreen2 = null;

            createScreen();
            AddStep("select diff adjust", () => SelectedMods.Value = new Mod[] { new OsuModDifficultyAdjust() });

            AddStep("set setting", () => modSelectScreen.ChildrenOfType <SettingsSlider <float> >().First().Current.Value = 8);

            AddAssert("ensure setting is propagated", () => SelectedMods.Value.OfType <OsuModDifficultyAdjust>().Single().CircleSize.Value == 8);

            AddStep("create second bindable", () => selectedMods2 = new Bindable <IReadOnlyList <Mod> >(new Mod[] { new OsuModDifficultyAdjust() }));

            AddStep("create second overlay", () =>
            {
                Add(modSelectScreen2 = new UserModSelectScreen().With(d =>
                {
                    d.Origin = Anchor.TopCentre;
                    d.Anchor = Anchor.TopCentre;
                    d.SelectedMods.BindTarget = selectedMods2;
                }));
            });

            AddStep("show", () => modSelectScreen2.Show());

            AddAssert("ensure first is unchanged", () => SelectedMods.Value.OfType <OsuModDifficultyAdjust>().Single().CircleSize.Value == 8);
            AddAssert("ensure second is default", () => selectedMods2.Value.OfType <OsuModDifficultyAdjust>().Single().CircleSize.Value == null);
        }
Ejemplo n.º 2
0
 private void createScreen()
 {
     AddStep("create screen", () => Child = modSelectScreen = new UserModSelectScreen
     {
         RelativeSizeAxes = Axes.Both,
         State            = { Value = Visibility.Visible },
         SelectedMods     = { BindTarget = SelectedMods }
     });
     waitForColumnLoad();
 }