* Fixes Location == Location, and Location != Location

This commit is contained in:
Teravus Ovares
2008-11-28 20:37:21 +00:00
parent dfbec673a4
commit c9a5215d6d
3 changed files with 28 additions and 2 deletions

View File

@@ -86,6 +86,16 @@ namespace OpenSim.Framework
return X == x && y == Y;
}
public static bool operator ==(Location o, object o2)
{
return o.Equals(o2);
}
public static bool operator !=(Location o, object o2)
{
return !o.Equals(o2);
}
public override int GetHashCode()
{
return X.GetHashCode() * 29 + Y.GetHashCode();

View File

@@ -45,6 +45,22 @@ namespace OpenSim.Framework.Tests
Location TestLocation1 = new Location(1099511628032000);
Location TestLocation2 = new Location(1099511628032000);
Assert.That(TestLocation1 == TestLocation2);
TestLocation1 = new Location(1099511628032001);
TestLocation2 = new Location(1099511628032000);
Assert.That(TestLocation1 != TestLocation2);
}
[Test]
public void locationXYRegionHandle()
{
Location TestLocation1 = new Location(256000,256000);
Location TestLocation2 = new Location(1099511628032000);
Assert.That(TestLocation1 == TestLocation2);
TestLocation1 = new Location(256001, 256001);
TestLocation2 = new Location(1099511628032000);
Assert.That(TestLocation1 != TestLocation2);
}
}