From 33515c75e44421df58a97058a6281eb96e0e50fd Mon Sep 17 00:00:00 2001
From: dr scofield (aka dirk husemann)
Date: Tue, 29 Sep 2009 09:07:00 +0200
Subject: adding LandDataSerializer (not connected anywhere, work-in-progress)
[hi, there, justin!]
---
.../Serialization/External/LandDataSerializer.cs | 185 +++++++++++++++++++++
1 file changed, 185 insertions(+)
create mode 100644 OpenSim/Framework/Serialization/External/LandDataSerializer.cs
(limited to 'OpenSim/Framework/Serialization')
diff --git a/OpenSim/Framework/Serialization/External/LandDataSerializer.cs b/OpenSim/Framework/Serialization/External/LandDataSerializer.cs
new file mode 100644
index 0000000..6bfae41
--- /dev/null
+++ b/OpenSim/Framework/Serialization/External/LandDataSerializer.cs
@@ -0,0 +1,185 @@
+/*
+ * Copyright (c) Contributors, http://opensimulator.org/
+ * See CONTRIBUTORS.TXT for a full list of copyright holders.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the OpenSimulator Project nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Text;
+using System.Xml;
+using OpenMetaverse;
+using OpenSim.Framework;
+
+namespace OpenSim.Framework.Serialization.External
+{
+ ///
+ /// Serialize and deserialize LandData as an external format.
+ ///
+ public class LandDataSerializer
+ {
+ protected static UTF8Encoding m_utf8Encoding = new UTF8Encoding();
+
+ ///
+ /// Reify/deserialize landData
+ ///
+ ///
+ ///
+ ///
+ public static LandData Deserialize(byte[] serializedLandData)
+ {
+ return Deserialize(m_utf8Encoding.GetString(serializedLandData, 0, serializedLandData.Length));
+ }
+
+ ///
+ /// Reify/deserialize landData
+ ///
+ ///
+ ///
+ ///
+ public static LandData Deserialize(string serializedLandData)
+ {
+ LandData landData = new LandData();
+
+ StringReader sr = new StringReader(serializedLandData);
+ XmlTextReader xtr = new XmlTextReader(sr);
+
+ xtr.ReadStartElement("LandData");
+
+ landData.Area = Convert.ToInt32( xtr.ReadElementString("Area"));
+ landData.AuctionID = Convert.ToUInt32( xtr.ReadElementString("AuctionID"));
+ landData.AuthBuyerID = UUID.Parse( xtr.ReadElementString("AuthBuyerID"));
+ landData.Category = (ParcelCategory)Convert.ToSByte( xtr.ReadElementString("Category"));
+ landData.ClaimDate = Convert.ToInt32( xtr.ReadElementString("ClaimDate"));
+ landData.ClaimPrice = Convert.ToInt32( xtr.ReadElementString("ClaimPrice"));
+ landData.GlobalID = UUID.Parse( xtr.ReadElementString("GlobalID"));
+ landData.GroupID = UUID.Parse( xtr.ReadElementString("GroupID"));
+ landData.IsGroupOwned = Convert.ToBoolean( xtr.ReadElementString("IsGroupOwned"));
+ landData.Bitmap = Convert.FromBase64String( xtr.ReadElementString("Bitmap"));
+ landData.Description = xtr.ReadElementString("Description");
+ landData.Flags = Convert.ToUInt32( xtr.ReadElementString("Flags"));
+ landData.LandingType = Convert.ToByte( xtr.ReadElementString("LandingType"));
+ landData.Name = xtr.ReadElementString("Name");
+ landData.Status = (ParcelStatus)Convert.ToSByte( xtr.ReadElementString("Status"));
+ landData.LocalID = Convert.ToInt32( xtr.ReadElementString("LocalID"));
+ landData.MediaAutoScale = Convert.ToByte( xtr.ReadElementString("MediaAutoScale"));
+ landData.MediaID = UUID.Parse( xtr.ReadElementString("MediaID"));
+ landData.MediaURL = xtr.ReadElementString("MediaURL");
+ landData.MusicURL = xtr.ReadElementString("MusicURL");
+ landData.OwnerID = UUID.Parse( xtr.ReadElementString("OwnerID"));
+
+ landData.ParcelAccessList = new List();
+ xtr.ReadStartElement("ParcelAccessList");
+ while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement)
+ {
+ ParcelManager.ParcelAccessEntry pae;
+
+ xtr.ReadStartElement("ParcelAccessEntry");
+ pae.AgentID = UUID.Parse( xtr.ReadElementString("AgentID"));
+ pae.Time = Convert.ToDateTime( xtr.ReadElementString("Time"));
+ pae.Flags = (AccessList)Convert.ToUInt32( xtr.ReadElementString("AccessList"));
+ xtr.ReadEndElement();
+
+ landData.ParcelAccessList.Add(pae);
+ }
+ xtr.ReadEndElement();
+
+ 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();
+
+ xtr.Close();
+ sr.Close();
+
+ return landData;
+ }
+
+ public static string Serialize(LandData landData)
+ {
+ StringWriter sw = new StringWriter();
+ XmlTextWriter xtw = new XmlTextWriter(sw);
+ xtw.Formatting = Formatting.Indented;
+
+ xtw.WriteStartDocument();
+ xtw.WriteStartElement("LandData");
+
+ xtw.WriteElementString("Area", landData.Area.ToString());
+ xtw.WriteElementString("AuctionID", landData.AuctionID.ToString());
+ xtw.WriteElementString("AuthBuyerID", landData.AuthBuyerID.ToString());
+ xtw.WriteElementString("Category", landData.Category.ToString());
+ xtw.WriteElementString("ClaimDate", landData.ClaimDate.ToString());
+ xtw.WriteElementString("ClaimPrice", landData.ClaimPrice.ToString());
+ xtw.WriteElementString("GlobalID", landData.GlobalID.ToString());
+ xtw.WriteElementString("GroupID", landData.GroupID.ToString());
+ xtw.WriteElementString("IsGroupOwned", landData.IsGroupOwned.ToString());
+ xtw.WriteElementString("Bitmap", landData.Bitmap.ToString());
+ xtw.WriteElementString("Description", landData.Description);
+ xtw.WriteElementString("Flags", landData.Flags.ToString());
+ xtw.WriteElementString("LandingType", landData.LandingType.ToString());
+ xtw.WriteElementString("Name", landData.Name);
+ xtw.WriteElementString("Status", landData.Status.ToString());
+ xtw.WriteElementString("LocalID", landData.LocalID.ToString());
+ xtw.WriteElementString("MediaAutoScale", landData.MediaAutoScale.ToString());
+ xtw.WriteElementString("MediaID", landData.MediaID.ToString());
+ xtw.WriteElementString("MediaURL", landData.MediaURL.ToString());
+ xtw.WriteElementString("MusicURL", landData.MusicURL.ToString());
+ xtw.WriteElementString("OwnerID", landData.OwnerID.ToString());
+
+ xtw.WriteStartElement("ParcelAccessList");
+ foreach(ParcelManager.ParcelAccessEntry pal in landData.ParcelAccessList)
+ {
+ xtw.WriteStartElement("ParcelAccessEntry");
+ xtw.WriteElementString("AgentID", pal.AgentID.ToString());
+ xtw.WriteElementString("Time", pal.Time.ToString());
+ xtw.WriteElementString("AccessList", pal.Flags.ToString());
+ xtw.WriteEndElement();
+ }
+ xtw.WriteEndElement();
+
+ xtw.WriteElementString("PassHours", landData.PassHours.ToString());
+ xtw.WriteElementString("PassPrice", landData.PassPrice.ToString());
+ xtw.WriteElementString("SalePrice", landData.SalePrice.ToString());
+ xtw.WriteElementString("SnapshotID", landData.SnapshotID.ToString());
+ xtw.WriteElementString("UserLocation", landData.UserLocation.ToString());
+ xtw.WriteElementString("UserLookAt", landData.UserLookAt.ToString());
+ xtw.WriteElementString("Dwell", landData.Dwell.ToString());
+ xtw.WriteElementString("OtherCleanTime", landData.OtherCleanTime.ToString());
+
+ xtw.WriteEndElement();
+
+ xtw.Close();
+ sw.Close();
+
+ return sw.ToString();
+ }
+ }
+}
--
cgit v1.1
From ee205e7e812e170f670e690a4e0fa9caa652f226 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Thu, 1 Oct 2009 01:00:09 +0900
Subject: Formatting cleanup.
---
.../Framework/Serialization/External/RegionSettingsSerializer.cs | 6 +++---
OpenSim/Framework/Serialization/External/UserProfileSerializer.cs | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
(limited to 'OpenSim/Framework/Serialization')
diff --git a/OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs b/OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs
index 274f41f..b5901e1 100644
--- a/OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs
+++ b/OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs
@@ -158,7 +158,7 @@ namespace OpenSim.Framework.Serialization.External
settings.Elevation2NE = double.Parse(xtr.ReadElementContentAsString());
break;
}
- }
+ }
xtr.ReadEndElement();
xtr.ReadStartElement("Terrain");
@@ -200,8 +200,8 @@ namespace OpenSim.Framework.Serialization.External
xtw.WriteStartElement("RegionSettings");
- xtw.WriteStartElement("General");
- xtw.WriteElementString("AllowDamage", settings.AllowDamage.ToString());
+ xtw.WriteStartElement("General");
+ xtw.WriteElementString("AllowDamage", settings.AllowDamage.ToString());
xtw.WriteElementString("AllowLandResell", settings.AllowLandResell.ToString());
xtw.WriteElementString("AllowLandJoinDivide", settings.AllowLandJoinDivide.ToString());
xtw.WriteElementString("BlockFly", settings.BlockFly.ToString());
diff --git a/OpenSim/Framework/Serialization/External/UserProfileSerializer.cs b/OpenSim/Framework/Serialization/External/UserProfileSerializer.cs
index eb77e65..fb269b7 100644
--- a/OpenSim/Framework/Serialization/External/UserProfileSerializer.cs
+++ b/OpenSim/Framework/Serialization/External/UserProfileSerializer.cs
@@ -36,7 +36,7 @@ namespace OpenSim.Framework.Serialization.External
/// Serialize and deserialize region settings as an external format.
///
public class UserProfileSerializer
- {
+ {
public const int MAJOR_VERSION = 0;
public const int MINOR_VERSION = 1;
@@ -65,6 +65,6 @@ namespace OpenSim.Framework.Serialization.External
sw.Close();
return sw.ToString();
- }
+ }
}
}
\ No newline at end of file
--
cgit v1.1
From 606e831ff5337fb5e94dcebf9d6852bd4c434d4b Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Thu, 1 Oct 2009 09:38:36 +0900
Subject: Formatting cleanup.
---
OpenSim/Framework/Serialization/External/LandDataSerializer.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Framework/Serialization')
diff --git a/OpenSim/Framework/Serialization/External/LandDataSerializer.cs b/OpenSim/Framework/Serialization/External/LandDataSerializer.cs
index 6bfae41..4376249 100644
--- a/OpenSim/Framework/Serialization/External/LandDataSerializer.cs
+++ b/OpenSim/Framework/Serialization/External/LandDataSerializer.cs
@@ -155,7 +155,7 @@ namespace OpenSim.Framework.Serialization.External
xtw.WriteElementString("OwnerID", landData.OwnerID.ToString());
xtw.WriteStartElement("ParcelAccessList");
- foreach(ParcelManager.ParcelAccessEntry pal in landData.ParcelAccessList)
+ foreach (ParcelManager.ParcelAccessEntry pal in landData.ParcelAccessList)
{
xtw.WriteStartElement("ParcelAccessEntry");
xtw.WriteElementString("AgentID", pal.AgentID.ToString());
--
cgit v1.1
From 40cf840df26e66fca8ab81d602fd67ff1d2a6afa Mon Sep 17 00:00:00 2001
From: dr scofield (aka dirk husemann)
Date: Thu, 1 Oct 2009 09:47:45 +0200
Subject: adding testcase for LandDataSerializer; fixing LandDataSerializer ;-)
---
.../Serialization/External/LandDataSerializer.cs | 64 ++++++++--------
.../Serialization/Tests/LandDataSerializerTests.cs | 86 ++++++++++++++++++++++
2 files changed, 118 insertions(+), 32 deletions(-)
create mode 100644 OpenSim/Framework/Serialization/Tests/LandDataSerializerTests.cs
(limited to 'OpenSim/Framework/Serialization')
diff --git a/OpenSim/Framework/Serialization/External/LandDataSerializer.cs b/OpenSim/Framework/Serialization/External/LandDataSerializer.cs
index 6bfae41..0d91859 100644
--- a/OpenSim/Framework/Serialization/External/LandDataSerializer.cs
+++ b/OpenSim/Framework/Serialization/External/LandDataSerializer.cs
@@ -132,47 +132,47 @@ namespace OpenSim.Framework.Serialization.External
xtw.WriteStartDocument();
xtw.WriteStartElement("LandData");
- xtw.WriteElementString("Area", landData.Area.ToString());
- xtw.WriteElementString("AuctionID", landData.AuctionID.ToString());
- xtw.WriteElementString("AuthBuyerID", landData.AuthBuyerID.ToString());
- xtw.WriteElementString("Category", landData.Category.ToString());
- xtw.WriteElementString("ClaimDate", landData.ClaimDate.ToString());
- xtw.WriteElementString("ClaimPrice", landData.ClaimPrice.ToString());
- xtw.WriteElementString("GlobalID", landData.GlobalID.ToString());
- xtw.WriteElementString("GroupID", landData.GroupID.ToString());
- xtw.WriteElementString("IsGroupOwned", landData.IsGroupOwned.ToString());
- xtw.WriteElementString("Bitmap", landData.Bitmap.ToString());
- xtw.WriteElementString("Description", landData.Description);
- xtw.WriteElementString("Flags", landData.Flags.ToString());
- xtw.WriteElementString("LandingType", landData.LandingType.ToString());
- xtw.WriteElementString("Name", landData.Name);
- xtw.WriteElementString("Status", landData.Status.ToString());
- xtw.WriteElementString("LocalID", landData.LocalID.ToString());
- xtw.WriteElementString("MediaAutoScale", landData.MediaAutoScale.ToString());
- xtw.WriteElementString("MediaID", landData.MediaID.ToString());
- xtw.WriteElementString("MediaURL", landData.MediaURL.ToString());
- xtw.WriteElementString("MusicURL", landData.MusicURL.ToString());
- xtw.WriteElementString("OwnerID", landData.OwnerID.ToString());
+ xtw.WriteElementString("Area", Convert.ToString(landData.Area));
+ xtw.WriteElementString("AuctionID", Convert.ToString(landData.AuctionID));
+ xtw.WriteElementString("AuthBuyerID", landData.AuthBuyerID.ToString());
+ xtw.WriteElementString("Category", Convert.ToString(landData.Category));
+ xtw.WriteElementString("ClaimDate", Convert.ToString(landData.ClaimDate));
+ xtw.WriteElementString("ClaimPrice", Convert.ToString(landData.ClaimPrice));
+ xtw.WriteElementString("GlobalID", landData.GlobalID.ToString());
+ xtw.WriteElementString("GroupID", landData.GroupID.ToString());
+ xtw.WriteElementString("IsGroupOwned", Convert.ToString(landData.IsGroupOwned));
+ xtw.WriteElementString("Bitmap", Convert.ToBase64String(landData.Bitmap));
+ xtw.WriteElementString("Description", landData.Description);
+ xtw.WriteElementString("Flags", Convert.ToString(landData.Flags));
+ xtw.WriteElementString("LandingType", Convert.ToString(landData.LandingType));
+ xtw.WriteElementString("Name", landData.Name);
+ xtw.WriteElementString("Status", Convert.ToString(landData.Status));
+ xtw.WriteElementString("LocalID", landData.LocalID.ToString());
+ xtw.WriteElementString("MediaAutoScale", Convert.ToString(landData.MediaAutoScale));
+ xtw.WriteElementString("MediaID", landData.MediaID.ToString());
+ xtw.WriteElementString("MediaURL", landData.MediaURL);
+ xtw.WriteElementString("MusicURL", landData.MusicURL);
+ xtw.WriteElementString("OwnerID", landData.OwnerID.ToString());
xtw.WriteStartElement("ParcelAccessList");
foreach(ParcelManager.ParcelAccessEntry pal in landData.ParcelAccessList)
{
xtw.WriteStartElement("ParcelAccessEntry");
- xtw.WriteElementString("AgentID", pal.AgentID.ToString());
- xtw.WriteElementString("Time", pal.Time.ToString());
- xtw.WriteElementString("AccessList", pal.Flags.ToString());
+ xtw.WriteElementString("AgentID", pal.AgentID.ToString());
+ xtw.WriteElementString("Time", Convert.ToString(pal.Time));
+ xtw.WriteElementString("AccessList", Convert.ToString(pal.Flags));
xtw.WriteEndElement();
}
xtw.WriteEndElement();
- xtw.WriteElementString("PassHours", landData.PassHours.ToString());
- xtw.WriteElementString("PassPrice", landData.PassPrice.ToString());
- xtw.WriteElementString("SalePrice", landData.SalePrice.ToString());
- xtw.WriteElementString("SnapshotID", landData.SnapshotID.ToString());
- xtw.WriteElementString("UserLocation", landData.UserLocation.ToString());
- xtw.WriteElementString("UserLookAt", landData.UserLookAt.ToString());
- xtw.WriteElementString("Dwell", landData.Dwell.ToString());
- xtw.WriteElementString("OtherCleanTime", landData.OtherCleanTime.ToString());
+ xtw.WriteElementString("PassHours", Convert.ToString(landData.PassHours));
+ xtw.WriteElementString("PassPrice", Convert.ToString(landData.PassPrice));
+ xtw.WriteElementString("SalePrice", Convert.ToString(landData.SalePrice));
+ xtw.WriteElementString("SnapshotID", landData.SnapshotID.ToString());
+ xtw.WriteElementString("UserLocation", landData.UserLocation.ToString());
+ xtw.WriteElementString("UserLookAt", landData.UserLookAt.ToString());
+ xtw.WriteElementString("Dwell", Convert.ToString(landData.Dwell));
+ xtw.WriteElementString("OtherCleanTime", Convert.ToString(landData.OtherCleanTime));
xtw.WriteEndElement();
diff --git a/OpenSim/Framework/Serialization/Tests/LandDataSerializerTests.cs b/OpenSim/Framework/Serialization/Tests/LandDataSerializerTests.cs
new file mode 100644
index 0000000..f1881a1
--- /dev/null
+++ b/OpenSim/Framework/Serialization/Tests/LandDataSerializerTests.cs
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) Contributors, http://opensimulator.org/
+ * See CONTRIBUTORS.TXT for a full list of copyright holders.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the OpenSimulator Project nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+using System.Collections.Generic;
+using OpenSim.Framework;
+using OpenSim.Framework.Serialization.External;
+using OpenMetaverse;
+using OpenMetaverse.StructuredData;
+using NUnit.Framework;
+
+namespace OpenSim.Framework.Serialization.Tests
+{
+ [TestFixture]
+ public class LandDataSerializerTest
+ {
+ private LandData land;
+
+ [SetUp]
+ public void setup()
+ {
+ // setup LandData object
+ this.land = new LandData();
+ this.land.AABBMax = new Vector3(0, 0, 0);
+ this.land.AABBMin = new Vector3(128, 128, 128);
+ this.land.Area = 128;
+ this.land.AuctionID = 0;
+ this.land.AuthBuyerID = new UUID();
+ this.land.Category = ParcelCategory.Residential;
+ this.land.ClaimDate = 0;
+ this.land.ClaimPrice = 0;
+ this.land.GlobalID = new UUID("54ff9641-dd40-4a2c-b1f1-47dd3af24e50");
+ this.land.GroupID = new UUID("d740204e-bbbf-44aa-949d-02c7d739f6a5");
+ this.land.GroupPrims = 0;
+ this.land.Description = "land data to test LandDataSerializer";
+ this.land.Flags = (uint)(ParcelFlags.AllowDamage | ParcelFlags.AllowVoiceChat);
+ this.land.LandingType = (byte)LandingType.Direct;
+ this.land.Name = "LandDataSerializerTest Land";
+ this.land.Status = ParcelStatus.Leased;
+ this.land.LocalID = 0;
+ this.land.MediaAutoScale = (byte)0x01;
+ 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");
+ }
+
+ ///
+ ///
+ [Test]
+ public void TestLandDataSerializerSerializeTest()
+ {
+ string serialized = LandDataSerializer.Serialize(this.land);
+ Assert.That(serialized.Length > 0);
+ }
+
+ ///
+ ///
+ [Test]
+ public void TestLandDataSerializerDeserializeTest()
+ {
+ }
+ }
+}
--
cgit v1.1
From 77ed8e977a8664456f55533feafeaca913c3b1c6 Mon Sep 17 00:00:00 2001
From: dr scofield (aka dirk husemann)
Date: Thu, 1 Oct 2009 10:30:26 +0200
Subject: adding meat to the LandDataSerializerTest cases.
---
OpenSim/Framework/Serialization/Tests/LandDataSerializerTests.cs | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
(limited to 'OpenSim/Framework/Serialization')
diff --git a/OpenSim/Framework/Serialization/Tests/LandDataSerializerTests.cs b/OpenSim/Framework/Serialization/Tests/LandDataSerializerTests.cs
index f1881a1..d0e3fc8 100644
--- a/OpenSim/Framework/Serialization/Tests/LandDataSerializerTests.cs
+++ b/OpenSim/Framework/Serialization/Tests/LandDataSerializerTests.cs
@@ -25,6 +25,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+using System;
using System.Collections.Generic;
using OpenSim.Framework;
using OpenSim.Framework.Serialization.External;
@@ -38,6 +39,7 @@ 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 Residential\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 Leased\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";
[SetUp]
public void setup()
@@ -70,10 +72,11 @@ namespace OpenSim.Framework.Serialization.Tests
///
///
[Test]
- public void TestLandDataSerializerSerializeTest()
+ public void LandDataSerializerSerializeTest()
{
string serialized = LandDataSerializer.Serialize(this.land);
Assert.That(serialized.Length > 0);
+ Assert.That(serialized == this.preSerialized);
}
///
--
cgit v1.1
From 05da73c300b8ed2105febb8de8f2d302b8dbe599 Mon Sep 17 00:00:00 2001
From: dr scofield (aka dirk husemann)
Date: Thu, 1 Oct 2009 12:01:41 +0200
Subject: fixing LandDataSerializer (yeah! for testcases)
---
.../Serialization/External/LandDataSerializer.cs | 36 +++++++++++++---------
.../Serialization/Tests/LandDataSerializerTests.cs | 12 +++++---
2 files changed, 29 insertions(+), 19 deletions(-)
(limited to 'OpenSim/Framework/Serialization')
diff --git a/OpenSim/Framework/Serialization/External/LandDataSerializer.cs b/OpenSim/Framework/Serialization/External/LandDataSerializer.cs
index e9af2ca..e980945 100644
--- a/OpenSim/Framework/Serialization/External/LandDataSerializer.cs
+++ b/OpenSim/Framework/Serialization/External/LandDataSerializer.cs
@@ -91,20 +91,26 @@ namespace OpenSim.Framework.Serialization.External
landData.OwnerID = UUID.Parse( xtr.ReadElementString("OwnerID"));
landData.ParcelAccessList = new List();
- xtr.ReadStartElement("ParcelAccessList");
- while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement)
- {
- ParcelManager.ParcelAccessEntry pae;
+ xtr.Read();
+ if (xtr.Name != "ParcelAccessList")
+ throw new XmlException(String.Format("Expected \"ParcelAccessList\" element but got \"{0}\"", xtr.Name));
- xtr.ReadStartElement("ParcelAccessEntry");
- pae.AgentID = UUID.Parse( xtr.ReadElementString("AgentID"));
- pae.Time = Convert.ToDateTime( xtr.ReadElementString("Time"));
- pae.Flags = (AccessList)Convert.ToUInt32( xtr.ReadElementString("AccessList"));
- xtr.ReadEndElement();
+ if (!xtr.IsEmptyElement)
+ {
+ while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement)
+ {
+ ParcelManager.ParcelAccessEntry pae;
- landData.ParcelAccessList.Add(pae);
+ xtr.ReadStartElement("ParcelAccessEntry");
+ pae.AgentID = UUID.Parse( xtr.ReadElementString("AgentID"));
+ pae.Time = Convert.ToDateTime( xtr.ReadElementString("Time"));
+ pae.Flags = (AccessList)Convert.ToUInt32( xtr.ReadElementString("AccessList"));
+ xtr.ReadEndElement();
+
+ landData.ParcelAccessList.Add(pae);
+ }
}
- xtr.ReadEndElement();
+ xtr.Read();
landData.PassHours = Convert.ToSingle( xtr.ReadElementString("PassHours"));
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("AuctionID", Convert.ToString(landData.AuctionID));
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("ClaimPrice", Convert.ToString(landData.ClaimPrice));
xtw.WriteElementString("GlobalID", landData.GlobalID.ToString());
@@ -143,10 +149,10 @@ namespace OpenSim.Framework.Serialization.External
xtw.WriteElementString("IsGroupOwned", Convert.ToString(landData.IsGroupOwned));
xtw.WriteElementString("Bitmap", Convert.ToBase64String(landData.Bitmap));
xtw.WriteElementString("Description", landData.Description);
- xtw.WriteElementString("Flags", Convert.ToString(landData.Flags));
- xtw.WriteElementString("LandingType", Convert.ToString(landData.LandingType));
+ xtw.WriteElementString("Flags", Convert.ToString((uint)landData.Flags));
+ xtw.WriteElementString("LandingType", Convert.ToString((byte)landData.LandingType));
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("MediaAutoScale", Convert.ToString(landData.MediaAutoScale));
xtw.WriteElementString("MediaID", landData.MediaID.ToString());
diff --git a/OpenSim/Framework/Serialization/Tests/LandDataSerializerTests.cs b/OpenSim/Framework/Serialization/Tests/LandDataSerializerTests.cs
index d0e3fc8..06ec047 100644
--- a/OpenSim/Framework/Serialization/Tests/LandDataSerializerTests.cs
+++ b/OpenSim/Framework/Serialization/Tests/LandDataSerializerTests.cs
@@ -39,7 +39,7 @@ 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 Residential\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 Leased\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 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";
[SetUp]
public void setup()
@@ -75,15 +75,19 @@ namespace OpenSim.Framework.Serialization.Tests
public void LandDataSerializerSerializeTest()
{
string serialized = LandDataSerializer.Serialize(this.land);
- Assert.That(serialized.Length > 0);
- Assert.That(serialized == this.preSerialized);
+ Assert.That(serialized.Length > 0, "Serialize(LandData) returned empty string");
+ Assert.That(serialized == this.preSerialized, "result of Serialize(LandData) does not match expected result");
}
///
///
[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");
}
}
}
--
cgit v1.1
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