fixing LandDataSerializer (yeah! for testcases)
parent
18416ec518
commit
05da73c300
|
@ -91,20 +91,26 @@ namespace OpenSim.Framework.Serialization.External
|
||||||
landData.OwnerID = UUID.Parse( xtr.ReadElementString("OwnerID"));
|
landData.OwnerID = UUID.Parse( xtr.ReadElementString("OwnerID"));
|
||||||
|
|
||||||
landData.ParcelAccessList = new List<ParcelManager.ParcelAccessEntry>();
|
landData.ParcelAccessList = new List<ParcelManager.ParcelAccessEntry>();
|
||||||
xtr.ReadStartElement("ParcelAccessList");
|
xtr.Read();
|
||||||
while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement)
|
if (xtr.Name != "ParcelAccessList")
|
||||||
|
throw new XmlException(String.Format("Expected \"ParcelAccessList\" element but got \"{0}\"", xtr.Name));
|
||||||
|
|
||||||
|
if (!xtr.IsEmptyElement)
|
||||||
{
|
{
|
||||||
ParcelManager.ParcelAccessEntry pae;
|
while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement)
|
||||||
|
{
|
||||||
|
ParcelManager.ParcelAccessEntry pae;
|
||||||
|
|
||||||
xtr.ReadStartElement("ParcelAccessEntry");
|
xtr.ReadStartElement("ParcelAccessEntry");
|
||||||
pae.AgentID = UUID.Parse( xtr.ReadElementString("AgentID"));
|
pae.AgentID = UUID.Parse( xtr.ReadElementString("AgentID"));
|
||||||
pae.Time = Convert.ToDateTime( xtr.ReadElementString("Time"));
|
pae.Time = Convert.ToDateTime( xtr.ReadElementString("Time"));
|
||||||
pae.Flags = (AccessList)Convert.ToUInt32( xtr.ReadElementString("AccessList"));
|
pae.Flags = (AccessList)Convert.ToUInt32( xtr.ReadElementString("AccessList"));
|
||||||
xtr.ReadEndElement();
|
xtr.ReadEndElement();
|
||||||
|
|
||||||
landData.ParcelAccessList.Add(pae);
|
landData.ParcelAccessList.Add(pae);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
xtr.ReadEndElement();
|
xtr.Read();
|
||||||
|
|
||||||
landData.PassHours = Convert.ToSingle( xtr.ReadElementString("PassHours"));
|
landData.PassHours = Convert.ToSingle( xtr.ReadElementString("PassHours"));
|
||||||
landData.PassPrice = Convert.ToInt32( xtr.ReadElementString("PassPrice"));
|
landData.PassPrice = Convert.ToInt32( xtr.ReadElementString("PassPrice"));
|
||||||
|
@ -135,7 +141,7 @@ namespace OpenSim.Framework.Serialization.External
|
||||||
xtw.WriteElementString("Area", Convert.ToString(landData.Area));
|
xtw.WriteElementString("Area", Convert.ToString(landData.Area));
|
||||||
xtw.WriteElementString("AuctionID", Convert.ToString(landData.AuctionID));
|
xtw.WriteElementString("AuctionID", Convert.ToString(landData.AuctionID));
|
||||||
xtw.WriteElementString("AuthBuyerID", landData.AuthBuyerID.ToString());
|
xtw.WriteElementString("AuthBuyerID", landData.AuthBuyerID.ToString());
|
||||||
xtw.WriteElementString("Category", Convert.ToString(landData.Category));
|
xtw.WriteElementString("Category", Convert.ToString((sbyte)landData.Category));
|
||||||
xtw.WriteElementString("ClaimDate", Convert.ToString(landData.ClaimDate));
|
xtw.WriteElementString("ClaimDate", Convert.ToString(landData.ClaimDate));
|
||||||
xtw.WriteElementString("ClaimPrice", Convert.ToString(landData.ClaimPrice));
|
xtw.WriteElementString("ClaimPrice", Convert.ToString(landData.ClaimPrice));
|
||||||
xtw.WriteElementString("GlobalID", landData.GlobalID.ToString());
|
xtw.WriteElementString("GlobalID", landData.GlobalID.ToString());
|
||||||
|
@ -143,10 +149,10 @@ namespace OpenSim.Framework.Serialization.External
|
||||||
xtw.WriteElementString("IsGroupOwned", Convert.ToString(landData.IsGroupOwned));
|
xtw.WriteElementString("IsGroupOwned", Convert.ToString(landData.IsGroupOwned));
|
||||||
xtw.WriteElementString("Bitmap", Convert.ToBase64String(landData.Bitmap));
|
xtw.WriteElementString("Bitmap", Convert.ToBase64String(landData.Bitmap));
|
||||||
xtw.WriteElementString("Description", landData.Description);
|
xtw.WriteElementString("Description", landData.Description);
|
||||||
xtw.WriteElementString("Flags", Convert.ToString(landData.Flags));
|
xtw.WriteElementString("Flags", Convert.ToString((uint)landData.Flags));
|
||||||
xtw.WriteElementString("LandingType", Convert.ToString(landData.LandingType));
|
xtw.WriteElementString("LandingType", Convert.ToString((byte)landData.LandingType));
|
||||||
xtw.WriteElementString("Name", landData.Name);
|
xtw.WriteElementString("Name", landData.Name);
|
||||||
xtw.WriteElementString("Status", Convert.ToString(landData.Status));
|
xtw.WriteElementString("Status", Convert.ToString((sbyte)landData.Status));
|
||||||
xtw.WriteElementString("LocalID", landData.LocalID.ToString());
|
xtw.WriteElementString("LocalID", landData.LocalID.ToString());
|
||||||
xtw.WriteElementString("MediaAutoScale", Convert.ToString(landData.MediaAutoScale));
|
xtw.WriteElementString("MediaAutoScale", Convert.ToString(landData.MediaAutoScale));
|
||||||
xtw.WriteElementString("MediaID", landData.MediaID.ToString());
|
xtw.WriteElementString("MediaID", landData.MediaID.ToString());
|
||||||
|
|
|
@ -39,7 +39,7 @@ namespace OpenSim.Framework.Serialization.Tests
|
||||||
public class LandDataSerializerTest
|
public class LandDataSerializerTest
|
||||||
{
|
{
|
||||||
private LandData land;
|
private LandData land;
|
||||||
private string preSerialized = "<?xml version=\"1.0\" encoding=\"utf-16\"?>\n<LandData>\n <Area>128</Area>\n <AuctionID>0</AuctionID>\n <AuthBuyerID>00000000-0000-0000-0000-000000000000</AuthBuyerID>\n <Category>Residential</Category>\n <ClaimDate>0</ClaimDate>\n <ClaimPrice>0</ClaimPrice>\n <GlobalID>54ff9641-dd40-4a2c-b1f1-47dd3af24e50</GlobalID>\n <GroupID>d740204e-bbbf-44aa-949d-02c7d739f6a5</GroupID>\n <IsGroupOwned>False</IsGroupOwned>\n <Bitmap>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</Bitmap>\n <Description>land data to test LandDataSerializer</Description>\n <Flags>536870944</Flags>\n <LandingType>2</LandingType>\n <Name>LandDataSerializerTest Land</Name>\n <Status>Leased</Status>\n <LocalID>0</LocalID>\n <MediaAutoScale>1</MediaAutoScale>\n <MediaID>d4452578-2f25-4b97-a81b-819af559cfd7</MediaID>\n <MediaURL>http://videos.opensimulator.org/bumblebee.mp4</MediaURL>\n <MusicURL />\n <OwnerID>1b8eedf9-6d15-448b-8015-24286f1756bf</OwnerID>\n <ParcelAccessList />\n <PassHours>0</PassHours>\n <PassPrice>0</PassPrice>\n <SalePrice>0</SalePrice>\n <SnapshotID>00000000-0000-0000-0000-000000000000</SnapshotID>\n <UserLocation><0, 0, 0></UserLocation>\n <UserLookAt><0, 0, 0></UserLookAt>\n <Dwell>0</Dwell>\n <OtherCleanTime>0</OtherCleanTime>\n</LandData>";
|
private string preSerialized = "<?xml version=\"1.0\" encoding=\"utf-16\"?>\n<LandData>\n <Area>128</Area>\n <AuctionID>0</AuctionID>\n <AuthBuyerID>00000000-0000-0000-0000-000000000000</AuthBuyerID>\n <Category>10</Category>\n <ClaimDate>0</ClaimDate>\n <ClaimPrice>0</ClaimPrice>\n <GlobalID>54ff9641-dd40-4a2c-b1f1-47dd3af24e50</GlobalID>\n <GroupID>d740204e-bbbf-44aa-949d-02c7d739f6a5</GroupID>\n <IsGroupOwned>False</IsGroupOwned>\n <Bitmap>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</Bitmap>\n <Description>land data to test LandDataSerializer</Description>\n <Flags>536870944</Flags>\n <LandingType>2</LandingType>\n <Name>LandDataSerializerTest Land</Name>\n <Status>0</Status>\n <LocalID>0</LocalID>\n <MediaAutoScale>1</MediaAutoScale>\n <MediaID>d4452578-2f25-4b97-a81b-819af559cfd7</MediaID>\n <MediaURL>http://videos.opensimulator.org/bumblebee.mp4</MediaURL>\n <MusicURL />\n <OwnerID>1b8eedf9-6d15-448b-8015-24286f1756bf</OwnerID>\n <ParcelAccessList />\n <PassHours>0</PassHours>\n <PassPrice>0</PassPrice>\n <SalePrice>0</SalePrice>\n <SnapshotID>00000000-0000-0000-0000-000000000000</SnapshotID>\n <UserLocation><0, 0, 0></UserLocation>\n <UserLookAt><0, 0, 0></UserLookAt>\n <Dwell>0</Dwell>\n <OtherCleanTime>0</OtherCleanTime>\n</LandData>";
|
||||||
|
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public void setup()
|
public void setup()
|
||||||
|
@ -75,15 +75,19 @@ namespace OpenSim.Framework.Serialization.Tests
|
||||||
public void LandDataSerializerSerializeTest()
|
public void LandDataSerializerSerializeTest()
|
||||||
{
|
{
|
||||||
string serialized = LandDataSerializer.Serialize(this.land);
|
string serialized = LandDataSerializer.Serialize(this.land);
|
||||||
Assert.That(serialized.Length > 0);
|
Assert.That(serialized.Length > 0, "Serialize(LandData) returned empty string");
|
||||||
Assert.That(serialized == this.preSerialized);
|
Assert.That(serialized == this.preSerialized, "result of Serialize(LandData) does not match expected result");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Test]
|
[Test]
|
||||||
public void TestLandDataSerializerDeserializeTest()
|
public void TestLandDataSerializerDeserializeFromStringTest()
|
||||||
{
|
{
|
||||||
|
LandData reifiedLandData = LandDataSerializer.Deserialize(this.preSerialized);
|
||||||
|
Assert.That(reifiedLandData != null, "Deserialize(string) returned null");
|
||||||
|
Assert.That(reifiedLandData.GlobalID == this.land.GlobalID, "Reified LandData.GlobalID != original LandData.GlobalID");
|
||||||
|
Assert.That(reifiedLandData.Name == this.land.Name, "Reified LandData.Name != original LandData.Name");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue