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)); }
public void TestTopLevelIncompatibleWithMultiMod() { // The nested mod. var mod1 = new Mock <CustomMod1>(); var multiMod = new MultiMod(new MultiMod(mod1.Object)); var mod2 = new Mock <CustomMod2>(); mod2.Setup(m => m.IncompatibleMods).Returns(new[] { typeof(CustomMod1) }); // Test both orderings. Assert.That(ModUtils.CheckCompatibleSet(new Mod[] { multiMod, mod2.Object }), Is.False); Assert.That(ModUtils.CheckCompatibleSet(new Mod[] { mod2.Object, multiMod }), Is.False); }
public void TestMultiModSettingsUnboundWhenCopied() { MultiMod original = null; MultiMod copy = null; AddStep("create mods", () => { original = new MultiMod(new OsuModDoubleTime()); copy = (MultiMod)original.CreateCopy(); }); 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)); }
private void testMultiMod(MultiMod multiMod) { foreach (var mod in multiMod.Mods) { selectNext(mod); checkSelected(mod); } for (int index = multiMod.Mods.Length - 1; index >= 0; index--) { selectPrevious(multiMod.Mods[index]); } foreach (var mod in multiMod.Mods) { checkNotSelected(mod); } }