mirror of
https://github.com/ppy/osu.git
synced 2025-01-06 09:03:01 +08:00
Disable APIMod/Mod cross equality support
This commit is contained in:
parent
cf633973a9
commit
76e877f160
@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using osu.Game.Online.API;
|
using osu.Game.Online.API;
|
||||||
|
using osu.Game.Rulesets.Osu;
|
||||||
using osu.Game.Rulesets.Osu.Mods;
|
using osu.Game.Rulesets.Osu.Mods;
|
||||||
|
|
||||||
namespace osu.Game.Tests.Mods
|
namespace osu.Game.Tests.Mods
|
||||||
@ -11,26 +12,42 @@ namespace osu.Game.Tests.Mods
|
|||||||
public class ModSettingsEqualityComparison
|
public class ModSettingsEqualityComparison
|
||||||
{
|
{
|
||||||
[Test]
|
[Test]
|
||||||
public void Test()
|
public void TestAPIMod()
|
||||||
{
|
{
|
||||||
|
var apiMod1 = new APIMod(new OsuModDoubleTime { SpeedChange = { Value = 1.25 } });
|
||||||
|
var apiMod2 = new APIMod(new OsuModDoubleTime { SpeedChange = { Value = 1.26 } });
|
||||||
|
var apiMod3 = new APIMod(new OsuModDoubleTime { SpeedChange = { Value = 1.26 } });
|
||||||
|
|
||||||
|
Assert.That(apiMod1, Is.Not.EqualTo(apiMod2));
|
||||||
|
Assert.That(apiMod2, Is.EqualTo(apiMod2));
|
||||||
|
Assert.That(apiMod2, Is.EqualTo(apiMod3));
|
||||||
|
Assert.That(apiMod3, Is.EqualTo(apiMod2));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void TestMod()
|
||||||
|
{
|
||||||
|
var ruleset = new OsuRuleset();
|
||||||
|
|
||||||
var mod1 = new OsuModDoubleTime { SpeedChange = { Value = 1.25 } };
|
var mod1 = new OsuModDoubleTime { SpeedChange = { Value = 1.25 } };
|
||||||
var mod2 = new OsuModDoubleTime { SpeedChange = { Value = 1.26 } };
|
var mod2 = new OsuModDoubleTime { SpeedChange = { Value = 1.26 } };
|
||||||
var mod3 = new OsuModDoubleTime { SpeedChange = { Value = 1.26 } };
|
var mod3 = new OsuModDoubleTime { SpeedChange = { Value = 1.26 } };
|
||||||
var apiMod1 = new APIMod(mod1);
|
|
||||||
var apiMod2 = new APIMod(mod2);
|
var doubleConvertedMod1 = new APIMod(mod1).ToMod(ruleset);
|
||||||
var apiMod3 = new APIMod(mod3);
|
var doulbeConvertedMod2 = new APIMod(mod2).ToMod(ruleset);
|
||||||
|
var doulbeConvertedMod3 = new APIMod(mod3).ToMod(ruleset);
|
||||||
|
|
||||||
Assert.That(mod1, Is.Not.EqualTo(mod2));
|
Assert.That(mod1, Is.Not.EqualTo(mod2));
|
||||||
Assert.That(apiMod1, Is.Not.EqualTo(apiMod2));
|
Assert.That(doubleConvertedMod1, Is.Not.EqualTo(doulbeConvertedMod2));
|
||||||
|
|
||||||
Assert.That(mod2, Is.EqualTo(mod2));
|
Assert.That(mod2, Is.EqualTo(mod2));
|
||||||
Assert.That(apiMod2, Is.EqualTo(apiMod2));
|
Assert.That(doulbeConvertedMod2, Is.EqualTo(doulbeConvertedMod2));
|
||||||
|
|
||||||
Assert.That(mod2, Is.EqualTo(mod3));
|
Assert.That(mod2, Is.EqualTo(mod3));
|
||||||
Assert.That(apiMod2, Is.EqualTo(apiMod3));
|
Assert.That(doulbeConvertedMod2, Is.EqualTo(doulbeConvertedMod3));
|
||||||
|
|
||||||
Assert.That(mod3, Is.EqualTo(mod2));
|
Assert.That(mod3, Is.EqualTo(mod2));
|
||||||
Assert.That(apiMod3, Is.EqualTo(apiMod2));
|
Assert.That(doulbeConvertedMod3, Is.EqualTo(doulbeConvertedMod2));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@ using osu.Game.Utils;
|
|||||||
namespace osu.Game.Online.API
|
namespace osu.Game.Online.API
|
||||||
{
|
{
|
||||||
[MessagePackObject]
|
[MessagePackObject]
|
||||||
public class APIMod
|
public class APIMod : IEquatable<APIMod>
|
||||||
{
|
{
|
||||||
[JsonProperty("acronym")]
|
[JsonProperty("acronym")]
|
||||||
[Key(0)]
|
[Key(0)]
|
||||||
@ -72,8 +72,7 @@ namespace osu.Game.Online.API
|
|||||||
if (ReferenceEquals(null, other)) return false;
|
if (ReferenceEquals(null, other)) return false;
|
||||||
if (ReferenceEquals(this, other)) return true;
|
if (ReferenceEquals(this, other)) return true;
|
||||||
|
|
||||||
return Acronym == other.Acronym &&
|
return Acronym == other.Acronym && Settings.SequenceEqual(other.Settings, ModSettingsEqualityComparer.Default);
|
||||||
Settings.SequenceEqual(other.Settings, ModSettingsEqualityComparer.Default);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
|
Loading…
Reference in New Issue
Block a user