예제 #1
0
        public void TestMultiModSettingsUnboundWhenCopied()
        {
            var original = new MultiMod(new OsuModDoubleTime());
            var copy     = (MultiMod)original.DeepClone();

            ((OsuModDoubleTime)original.Mods[0]).SpeedChange.Value = 2;

            Assert.That(((OsuModDoubleTime)original.Mods[0]).SpeedChange.Value, Is.EqualTo(2.0));
            Assert.That(((OsuModDoubleTime)copy.Mods[0]).SpeedChange.Value, Is.EqualTo(1.5));
        }
예제 #2
0
        public void TestMultiModSettingsUnboundWhenCopied()
        {
            MultiMod original = null;
            MultiMod copy     = null;

            AddStep("create mods", () =>
            {
                original = new MultiMod(new OsuModDoubleTime());
                copy     = (MultiMod)original.DeepClone();
            });

            AddStep("change property", () => ((OsuModDoubleTime)original.Mods[0]).SpeedChange.Value = 2);

            AddAssert("original has new value", () => Precision.AlmostEquals(2.0, ((OsuModDoubleTime)original.Mods[0]).SpeedChange.Value));
            AddAssert("copy has original value", () => Precision.AlmostEquals(1.5, ((OsuModDoubleTime)copy.Mods[0]).SpeedChange.Value));
        }