aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/World/Land/Tests/LandManagementModuleTests.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/CoreModules/World/Land/Tests/LandManagementModuleTests.cs')
-rw-r--r--OpenSim/Region/CoreModules/World/Land/Tests/LandManagementModuleTests.cs155
1 files changed, 154 insertions, 1 deletions
diff --git a/OpenSim/Region/CoreModules/World/Land/Tests/LandManagementModuleTests.cs b/OpenSim/Region/CoreModules/World/Land/Tests/LandManagementModuleTests.cs
index a886e33..6d0253d 100644
--- a/OpenSim/Region/CoreModules/World/Land/Tests/LandManagementModuleTests.cs
+++ b/OpenSim/Region/CoreModules/World/Land/Tests/LandManagementModuleTests.cs
@@ -35,7 +35,7 @@ using OpenSim.Tests.Common.Mock;
35 35
36namespace OpenSim.Region.CoreModules.World.Land.Tests 36namespace OpenSim.Region.CoreModules.World.Land.Tests
37{ 37{
38 public class LandManagementModuleTests 38 public class LandManagementModuleTests : OpenSimTestCase
39 { 39 {
40 [Test] 40 [Test]
41 public void TestAddLandObject() 41 public void TestAddLandObject()
@@ -78,6 +78,159 @@ namespace OpenSim.Region.CoreModules.World.Land.Tests
78 } 78 }
79 } 79 }
80 80
81 /// <summary>
82 /// Test parcels on region when no land data exists to be loaded.
83 /// </summary>
84 [Test]
85 public void TestLoadWithNoParcels()
86 {
87 TestHelpers.InMethod();
88// TestHelpers.EnableLogging();
89
90 SceneHelpers sh = new SceneHelpers();
91 LandManagementModule lmm = new LandManagementModule();
92 Scene scene = sh.SetupScene();
93 SceneHelpers.SetupSceneModules(scene, lmm);
94
95 scene.loadAllLandObjectsFromStorage(scene.RegionInfo.RegionID);
96
97 ILandObject loAtCoord1 = lmm.GetLandObject(0, 0);
98 Assert.That(loAtCoord1.LandData.LocalID, Is.Not.EqualTo(0));
99 Assert.That(loAtCoord1.LandData.GlobalID, Is.Not.EqualTo(UUID.Zero));
100
101 ILandObject loAtCoord2 = lmm.GetLandObject((int)Constants.RegionSize - 1, ((int)Constants.RegionSize - 1));
102 Assert.That(loAtCoord2.LandData.LocalID, Is.EqualTo(loAtCoord1.LandData.LocalID));
103 Assert.That(loAtCoord2.LandData.GlobalID, Is.EqualTo(loAtCoord1.LandData.GlobalID));
104 }
105
106 /// <summary>
107 /// Test parcels on region when a single parcel already exists but it does not cover the whole region.
108 /// </summary>
109 [Test]
110 public void TestLoadWithSinglePartialCoveringParcel()
111 {
112 TestHelpers.InMethod();
113// TestHelpers.EnableLogging();
114
115 UUID userId = TestHelpers.ParseTail(0x1);
116
117 SceneHelpers sh = new SceneHelpers();
118 LandManagementModule lmm = new LandManagementModule();
119 Scene scene = sh.SetupScene();
120 SceneHelpers.SetupSceneModules(scene, lmm);
121
122 ILandObject originalLo1 = new LandObject(userId, false, scene);
123 originalLo1.LandData.Name = "lo1";
124 originalLo1.SetLandBitmap(
125 originalLo1.GetSquareLandBitmap(0, 0, (int)Constants.RegionSize, (int)Constants.RegionSize / 2));
126
127 sh.SimDataService.StoreLandObject(originalLo1);
128
129 scene.loadAllLandObjectsFromStorage(scene.RegionInfo.RegionID);
130
131 ILandObject loAtCoord1 = lmm.GetLandObject(0, 0);
132 Assert.That(loAtCoord1.LandData.Name, Is.EqualTo(originalLo1.LandData.Name));
133 Assert.That(loAtCoord1.LandData.GlobalID, Is.EqualTo(originalLo1.LandData.GlobalID));
134
135 ILandObject loAtCoord2 = lmm.GetLandObject((int)Constants.RegionSize - 1, ((int)Constants.RegionSize - 1));
136 Assert.That(loAtCoord2.LandData.LocalID, Is.EqualTo(loAtCoord1.LandData.LocalID));
137 Assert.That(loAtCoord2.LandData.GlobalID, Is.EqualTo(loAtCoord1.LandData.GlobalID));
138 }
139
140 /// <summary>
141 /// Test parcels on region when a single parcel already exists but it does not cover the whole region.
142 /// </summary>
143 [Test]
144 public void TestLoadWithMultiplePartialCoveringParcels()
145 {
146 TestHelpers.InMethod();
147// TestHelpers.EnableLogging();
148
149 UUID userId = TestHelpers.ParseTail(0x1);
150
151 SceneHelpers sh = new SceneHelpers();
152 LandManagementModule lmm = new LandManagementModule();
153 Scene scene = sh.SetupScene();
154 SceneHelpers.SetupSceneModules(scene, lmm);
155
156 ILandObject originalLo1 = new LandObject(userId, false, scene);
157 originalLo1.LandData.Name = "lo1";
158 originalLo1.SetLandBitmap(
159 originalLo1.GetSquareLandBitmap(0, 0, (int)Constants.RegionSize, (int)Constants.RegionSize / 2));
160
161 sh.SimDataService.StoreLandObject(originalLo1);
162
163 ILandObject originalLo2 = new LandObject(userId, false, scene);
164 originalLo2.LandData.Name = "lo2";
165 originalLo2.SetLandBitmap(
166 originalLo2.GetSquareLandBitmap(
167 0, (int)Constants.RegionSize / 2, (int)Constants.RegionSize, ((int)Constants.RegionSize / 4) * 3));
168
169 sh.SimDataService.StoreLandObject(originalLo2);
170
171 scene.loadAllLandObjectsFromStorage(scene.RegionInfo.RegionID);
172
173 ILandObject loAtCoord1 = lmm.GetLandObject(0, 0);
174 Assert.That(loAtCoord1.LandData.Name, Is.EqualTo(originalLo1.LandData.Name));
175 Assert.That(loAtCoord1.LandData.GlobalID, Is.EqualTo(originalLo1.LandData.GlobalID));
176
177 ILandObject loAtCoord2
178 = lmm.GetLandObject((int)Constants.RegionSize - 1, (((int)Constants.RegionSize / 4) * 3) - 1);
179 Assert.That(loAtCoord2.LandData.Name, Is.EqualTo(originalLo2.LandData.Name));
180 Assert.That(loAtCoord2.LandData.GlobalID, Is.EqualTo(originalLo2.LandData.GlobalID));
181
182 ILandObject loAtCoord3 = lmm.GetLandObject((int)Constants.RegionSize - 1, ((int)Constants.RegionSize - 1));
183 Assert.That(loAtCoord3.LandData.LocalID, Is.Not.EqualTo(loAtCoord1.LandData.LocalID));
184 Assert.That(loAtCoord3.LandData.LocalID, Is.Not.EqualTo(loAtCoord2.LandData.LocalID));
185 Assert.That(loAtCoord3.LandData.GlobalID, Is.Not.EqualTo(loAtCoord1.LandData.GlobalID));
186 Assert.That(loAtCoord3.LandData.GlobalID, Is.Not.EqualTo(loAtCoord2.LandData.GlobalID));
187 }
188
189 /// <summary>
190 /// Test parcels on region when whole region is parcelled (which should normally always be the case).
191 /// </summary>
192 [Test]
193 public void TestLoad()
194 {
195 TestHelpers.InMethod();
196// TestHelpers.EnableLogging();
197
198 UUID userId = TestHelpers.ParseTail(0x1);
199
200 SceneHelpers sh = new SceneHelpers();
201 LandManagementModule lmm = new LandManagementModule();
202 Scene scene = sh.SetupScene();
203 SceneHelpers.SetupSceneModules(scene, lmm);
204
205 ILandObject originalLo1 = new LandObject(userId, false, scene);
206 originalLo1.LandData.Name = "lo1";
207 originalLo1.SetLandBitmap(
208 originalLo1.GetSquareLandBitmap(0, 0, (int)Constants.RegionSize, (int)Constants.RegionSize / 2));
209
210 sh.SimDataService.StoreLandObject(originalLo1);
211
212 ILandObject originalLo2 = new LandObject(userId, false, scene);
213 originalLo2.LandData.Name = "lo2";
214 originalLo2.SetLandBitmap(
215 originalLo2.GetSquareLandBitmap(0, (int)Constants.RegionSize / 2, (int)Constants.RegionSize, (int)Constants.RegionSize));
216
217 sh.SimDataService.StoreLandObject(originalLo2);
218
219 scene.loadAllLandObjectsFromStorage(scene.RegionInfo.RegionID);
220
221 {
222 ILandObject loAtCoord = lmm.GetLandObject(0, 0);
223 Assert.That(loAtCoord.LandData.Name, Is.EqualTo(originalLo1.LandData.Name));
224 Assert.That(loAtCoord.LandData.GlobalID, Is.EqualTo(originalLo1.LandData.GlobalID));
225 }
226
227 {
228 ILandObject loAtCoord = lmm.GetLandObject((int)Constants.RegionSize - 1, ((int)Constants.RegionSize - 1));
229 Assert.That(loAtCoord.LandData.Name, Is.EqualTo(originalLo2.LandData.Name));
230 Assert.That(loAtCoord.LandData.GlobalID, Is.EqualTo(originalLo2.LandData.GlobalID));
231 }
232 }
233
81 [Test] 234 [Test]
82 public void TestSubdivide() 235 public void TestSubdivide()
83 { 236 {