From 133a4a9906e55b20ff8780ebe5f59df87d5523ee Mon Sep 17 00:00:00 2001
From: dr scofield (aka dirk husemann)
Date: Thu, 1 Oct 2009 15:03:16 +0200
Subject: - adding new LandDataSerializer testcase to "test-xml" target as well
- adding another LandDataSerializer testcase
---
.../Serialization/External/LandDataSerializer.cs | 22 +++++------
.../Serialization/Tests/LandDataSerializerTests.cs | 44 ++++++++++++++++++++--
2 files changed, 52 insertions(+), 14 deletions(-)
(limited to 'OpenSim/Framework/Serialization')
diff --git a/OpenSim/Framework/Serialization/External/LandDataSerializer.cs b/OpenSim/Framework/Serialization/External/LandDataSerializer.cs
index e980945..a3bc5d1 100644
--- a/OpenSim/Framework/Serialization/External/LandDataSerializer.cs
+++ b/OpenSim/Framework/Serialization/External/LandDataSerializer.cs
@@ -99,7 +99,7 @@ namespace OpenSim.Framework.Serialization.External
{
while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement)
{
- ParcelManager.ParcelAccessEntry pae;
+ ParcelManager.ParcelAccessEntry pae = new ParcelManager.ParcelAccessEntry();
xtr.ReadStartElement("ParcelAccessEntry");
pae.AgentID = UUID.Parse( xtr.ReadElementString("AgentID"));
@@ -112,14 +112,14 @@ namespace OpenSim.Framework.Serialization.External
}
xtr.Read();
- landData.PassHours = Convert.ToSingle( xtr.ReadElementString("PassHours"));
- landData.PassPrice = Convert.ToInt32( xtr.ReadElementString("PassPrice"));
- landData.SalePrice = Convert.ToInt32( xtr.ReadElementString("SalePrice"));
- landData.SnapshotID = UUID.Parse( xtr.ReadElementString("SnapshotID"));
- landData.UserLocation = Vector3.Parse( xtr.ReadElementString("UserLocation"));
- landData.UserLookAt = Vector3.Parse( xtr.ReadElementString("UserLookAt"));
- landData.Dwell = Convert.ToInt32( xtr.ReadElementString("Dwell"));
- landData.OtherCleanTime = Convert.ToInt32( xtr.ReadElementString("OtherCleanTime"));
+ landData.PassHours = Convert.ToSingle( xtr.ReadElementString("PassHours"));
+ landData.PassPrice = Convert.ToInt32( xtr.ReadElementString("PassPrice"));
+ landData.SalePrice = Convert.ToInt32( xtr.ReadElementString("SalePrice"));
+ landData.SnapshotID = UUID.Parse( xtr.ReadElementString("SnapshotID"));
+ landData.UserLocation = Vector3.Parse( xtr.ReadElementString("UserLocation"));
+ landData.UserLookAt = Vector3.Parse( xtr.ReadElementString("UserLookAt"));
+ landData.Dwell = Convert.ToInt32( xtr.ReadElementString("Dwell"));
+ landData.OtherCleanTime = Convert.ToInt32( xtr.ReadElementString("OtherCleanTime"));
xtr.ReadEndElement();
@@ -165,8 +165,8 @@ namespace OpenSim.Framework.Serialization.External
{
xtw.WriteStartElement("ParcelAccessEntry");
xtw.WriteElementString("AgentID", pal.AgentID.ToString());
- xtw.WriteElementString("Time", Convert.ToString(pal.Time));
- xtw.WriteElementString("AccessList", Convert.ToString(pal.Flags));
+ xtw.WriteElementString("Time", pal.Time.ToString("s"));
+ xtw.WriteElementString("AccessList", Convert.ToString((uint)pal.Flags));
xtw.WriteEndElement();
}
xtw.WriteEndElement();
diff --git a/OpenSim/Framework/Serialization/Tests/LandDataSerializerTests.cs b/OpenSim/Framework/Serialization/Tests/LandDataSerializerTests.cs
index 06ec047..14e0462 100644
--- a/OpenSim/Framework/Serialization/Tests/LandDataSerializerTests.cs
+++ b/OpenSim/Framework/Serialization/Tests/LandDataSerializerTests.cs
@@ -39,7 +39,13 @@ namespace OpenSim.Framework.Serialization.Tests
public class LandDataSerializerTest
{
private LandData land;
- private string preSerialized = "\n\n 128\n 0\n 00000000-0000-0000-0000-000000000000\n 10\n 0\n 0\n 54ff9641-dd40-4a2c-b1f1-47dd3af24e50\n d740204e-bbbf-44aa-949d-02c7d739f6a5\n False\n AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\n land data to test LandDataSerializer\n 536870944\n 2\n LandDataSerializerTest Land\n 0\n 0\n 1\n d4452578-2f25-4b97-a81b-819af559cfd7\n http://videos.opensimulator.org/bumblebee.mp4\n \n 1b8eedf9-6d15-448b-8015-24286f1756bf\n \n 0\n 0\n 0\n 00000000-0000-0000-0000-000000000000\n <0, 0, 0>\n <0, 0, 0>\n 0\n 0\n";
+ private LandData landWithParcelAccessList;
+
+ private static string preSerialized = "\n\n 128\n 0\n 00000000-0000-0000-0000-000000000000\n 10\n 0\n 0\n 54ff9641-dd40-4a2c-b1f1-47dd3af24e50\n d740204e-bbbf-44aa-949d-02c7d739f6a5\n False\n AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\n land data to test LandDataSerializer\n 536870944\n 2\n LandDataSerializerTest Land\n 0\n 0\n 1\n d4452578-2f25-4b97-a81b-819af559cfd7\n http://videos.opensimulator.org/bumblebee.mp4\n \n 1b8eedf9-6d15-448b-8015-24286f1756bf\n \n 0\n 0\n 0\n 00000000-0000-0000-0000-000000000000\n <0, 0, 0>\n <0, 0, 0>\n 0\n 0\n";
+ private static string preSerializedWithParcelAccessList = "\n\n 128\n 0\n 00000000-0000-0000-0000-000000000000\n 10\n 0\n 0\n 54ff9641-dd40-4a2c-b1f1-47dd3af24e50\n d740204e-bbbf-44aa-949d-02c7d739f6a5\n False\n AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\n land data to test LandDataSerializer\n 536870944\n 2\n LandDataSerializerTest Land\n 0\n 0\n 1\n d4452578-2f25-4b97-a81b-819af559cfd7\n http://videos.opensimulator.org/bumblebee.mp4\n \n 1b8eedf9-6d15-448b-8015-24286f1756bf\n \n \n 62d65d45-c91a-4f77-862c-46557d978b6c\n \n 2\n \n \n ec2a8d18-2378-4fe0-8b68-2a31b57c481e\n \n 1\n \n \n 0\n 0\n 0\n 00000000-0000-0000-0000-000000000000\n <0, 0, 0>\n <0, 0, 0>\n 0\n 0\n";
+
+
+
[SetUp]
public void setup()
@@ -67,27 +73,59 @@ namespace OpenSim.Framework.Serialization.Tests
this.land.MediaID = new UUID("d4452578-2f25-4b97-a81b-819af559cfd7");
this.land.MediaURL = "http://videos.opensimulator.org/bumblebee.mp4";
this.land.OwnerID = new UUID("1b8eedf9-6d15-448b-8015-24286f1756bf");
+
+ this.landWithParcelAccessList = this.land.Copy();
+ this.landWithParcelAccessList.ParcelAccessList.Clear();
+
+ ParcelManager.ParcelAccessEntry pae0 = new ParcelManager.ParcelAccessEntry();
+ pae0.AgentID = new UUID("62d65d45-c91a-4f77-862c-46557d978b6c");
+ pae0.Flags = AccessList.Ban;
+ pae0.Time = new DateTime(2009, 10, 01);
+ this.landWithParcelAccessList.ParcelAccessList.Add(pae0);
+
+ ParcelManager.ParcelAccessEntry pae1 = new ParcelManager.ParcelAccessEntry();
+ pae1.AgentID = new UUID("ec2a8d18-2378-4fe0-8b68-2a31b57c481e");
+ pae1.Flags = AccessList.Access;
+ pae1.Time = new DateTime(2010, 10, 20);
+ this.landWithParcelAccessList.ParcelAccessList.Add(pae1);
}
///
+ /// Test the LandDataSerializer.Serialize() method
///
[Test]
public void LandDataSerializerSerializeTest()
{
string serialized = LandDataSerializer.Serialize(this.land);
Assert.That(serialized.Length > 0, "Serialize(LandData) returned empty string");
- Assert.That(serialized == this.preSerialized, "result of Serialize(LandData) does not match expected result");
+ Assert.That(serialized == LandDataSerializerTest.preSerialized,
+ "result of Serialize(LandData) does not match expected result");
+
+ string serializedWithParcelAccessList = LandDataSerializer.Serialize(this.landWithParcelAccessList);
+ Assert.That(serializedWithParcelAccessList.Length > 0,
+ "Serialize(LandData) returned empty string for LandData object with ParcelAccessList");
+ Assert.That(serializedWithParcelAccessList == LandDataSerializerTest.preSerializedWithParcelAccessList,
+ "result of Serialize(LandData) does not match expected result (pre-serialized with parcel access list");
}
///
+ /// Test the LandDataSerializer.Deserialize() method
///
[Test]
public void TestLandDataSerializerDeserializeFromStringTest()
{
- LandData reifiedLandData = LandDataSerializer.Deserialize(this.preSerialized);
+ LandData reifiedLandData = LandDataSerializer.Deserialize(LandDataSerializerTest.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");
+
+ LandData reifiedLandDataWithParcelAccessList = LandDataSerializer.Deserialize(LandDataSerializerTest.preSerializedWithParcelAccessList);
+ Assert.That(reifiedLandDataWithParcelAccessList != null,
+ "Deserialize(string) returned null (pre-serialized with parcel access list)");
+ Assert.That(reifiedLandDataWithParcelAccessList.GlobalID == this.landWithParcelAccessList.GlobalID,
+ "Reified LandData.GlobalID != original LandData.GlobalID (pre-serialized with parcel access list)");
+ Assert.That(reifiedLandDataWithParcelAccessList.Name == this.landWithParcelAccessList.Name,
+ "Reified LandData.Name != original LandData.Name (pre-serialized with parcel access list)");
}
}
}
--
cgit v1.1