Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
commit
7a5d11f8a7
|
@ -33,10 +33,10 @@ namespace OpenSim.Framework
|
||||||
[Serializable]
|
[Serializable]
|
||||||
public class Location : ICloneable
|
public class Location : ICloneable
|
||||||
{
|
{
|
||||||
private readonly int m_x;
|
private readonly uint m_x;
|
||||||
private readonly int m_y;
|
private readonly uint m_y;
|
||||||
|
|
||||||
public Location(int x, int y)
|
public Location(uint x, uint y)
|
||||||
{
|
{
|
||||||
m_x = x;
|
m_x = x;
|
||||||
m_y = y;
|
m_y = y;
|
||||||
|
@ -44,21 +44,21 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
public Location(ulong regionHandle)
|
public Location(ulong regionHandle)
|
||||||
{
|
{
|
||||||
m_x = (int) regionHandle;
|
m_x = (uint)(regionHandle >> 32);
|
||||||
m_y = (int) (regionHandle >> 32);
|
m_y = (uint)(regionHandle & (ulong)uint.MaxValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ulong RegionHandle
|
public ulong RegionHandle
|
||||||
{
|
{
|
||||||
get { return Utils.UIntsToLong((uint)m_x, (uint)m_y); }
|
get { return Utils.UIntsToLong(m_x, m_y); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public int X
|
public uint X
|
||||||
{
|
{
|
||||||
get { return m_x; }
|
get { return m_x; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public int Y
|
public uint Y
|
||||||
{
|
{
|
||||||
get { return m_y; }
|
get { return m_y; }
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,21 +51,21 @@ namespace OpenSim.Framework.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void locationXYRegionHandle()
|
public void locationXYRegionHandle()
|
||||||
{
|
{
|
||||||
Location TestLocation1 = new Location(256000,256000);
|
Location TestLocation1 = new Location(255000,256000);
|
||||||
Location TestLocation2 = new Location(1099511628032000);
|
Location TestLocation2 = new Location(1095216660736000);
|
||||||
Assert.That(TestLocation1 == TestLocation2);
|
Assert.That(TestLocation1 == TestLocation2);
|
||||||
|
|
||||||
Assert.That(TestLocation2.X == 256000 && TestLocation2.Y == 256000, "Test xy location doesn't match regionhandle provided");
|
Assert.That(TestLocation2.X == 255000 && TestLocation2.Y == 256000, "Test xy location doesn't match regionhandle provided");
|
||||||
|
|
||||||
Assert.That(TestLocation2.RegionHandle == 1099511628032000,
|
Assert.That(TestLocation2.RegionHandle == 1095216660736000,
|
||||||
"Location RegionHandle Property didn't match regionhandle provided in constructor");
|
"Location RegionHandle Property didn't match regionhandle provided in constructor");
|
||||||
|
|
||||||
|
|
||||||
TestLocation1 = new Location(256001, 256001);
|
TestLocation1 = new Location(255001, 256001);
|
||||||
TestLocation2 = new Location(1099511628032000);
|
TestLocation2 = new Location(1095216660736000);
|
||||||
Assert.That(TestLocation1 != TestLocation2);
|
Assert.That(TestLocation1 != TestLocation2);
|
||||||
|
|
||||||
Assert.That(TestLocation1.Equals(256001, 256001), "Equals(x,y) failed to match the position in the constructor");
|
Assert.That(TestLocation1.Equals(255001, 256001), "Equals(x,y) failed to match the position in the constructor");
|
||||||
|
|
||||||
Assert.That(TestLocation2.GetHashCode() == (TestLocation2.X.GetHashCode() ^ TestLocation2.Y.GetHashCode()), "GetHashCode failed to produce the expected hashcode");
|
Assert.That(TestLocation2.GetHashCode() == (TestLocation2.X.GetHashCode() ^ TestLocation2.Y.GetHashCode()), "GetHashCode failed to produce the expected hashcode");
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue