From 88bd71b9786f5af9ce185fa1c885622f41712371 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 13 Sep 2011 17:40:39 +0100
Subject: improve TestAddSceneObject() to test a multi-part object rather than
a single-part
---
.../Scenes/Tests/SceneObjectBasicTests.cs | 25 ++++++++++++----------
1 file changed, 14 insertions(+), 11 deletions(-)
(limited to 'OpenSim/Region/Framework/Scenes/Tests')
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs
index 1ea2329..8f2e21f 100644
--- a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs
+++ b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs
@@ -52,22 +52,25 @@ namespace OpenSim.Region.Framework.Scenes.Tests
TestHelpers.InMethod();
Scene scene = SceneHelpers.SetupScene();
+ int partsToTestCount = 3;
- string objName = "obj1";
- UUID objUuid = new UUID("00000000-0000-0000-0000-000000000001");
-
- SceneObjectPart part
- = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero)
- { Name = objName, UUID = objUuid };
+ SceneObjectGroup so
+ = SceneHelpers.CreateSceneObject(partsToTestCount, TestHelpers.ParseTail(0x1), "obj1", 0x10);
+ SceneObjectPart[] parts = so.Parts;
- Assert.That(scene.AddNewSceneObject(new SceneObjectGroup(part), false), Is.True);
-
- SceneObjectPart retrievedPart = scene.GetSceneObjectPart(objUuid);
+ Assert.That(scene.AddNewSceneObject(so, false), Is.True);
+ SceneObjectGroup retrievedSo = scene.GetSceneObjectGroup(so.UUID);
+ SceneObjectPart[] retrievedParts = retrievedSo.Parts;
//m_log.Debug("retrievedPart : {0}", retrievedPart);
// If the parts have the same UUID then we will consider them as one and the same
- Assert.That(retrievedPart.Name, Is.EqualTo(objName));
- Assert.That(retrievedPart.UUID, Is.EqualTo(objUuid));
+ Assert.That(retrievedSo.PrimCount, Is.EqualTo(partsToTestCount));
+
+ for (int i = 0; i < partsToTestCount; i++)
+ {
+ Assert.That(retrievedParts[i].Name, Is.EqualTo(parts[i].Name));
+ Assert.That(retrievedParts[i].UUID, Is.EqualTo(parts[i].UUID));
+ }
}
[Test]
--
cgit v1.1
From c14f0a22d44c582fb277ba34dec7cee629ba7f4a Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 13 Sep 2011 17:52:10 +0100
Subject: Add new TestGetSceneObjectByPartLocalId() for retrieving a scene
object via the local id of one of its parts
---
.../Scenes/Tests/SceneObjectBasicTests.cs | 27 ++++++++++++++++++++++
1 file changed, 27 insertions(+)
(limited to 'OpenSim/Region/Framework/Scenes/Tests')
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs
index 8f2e21f..281b85c 100644
--- a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs
+++ b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs
@@ -106,6 +106,33 @@ namespace OpenSim.Region.Framework.Scenes.Tests
Assert.That(retrievedPart.Name, Is.EqualTo(obj1Name));
Assert.That(retrievedPart.UUID, Is.EqualTo(objUuid));
}
+
+ ///
+ /// Test retrieving a scene object via the local id of one of its parts.
+ ///
+ [Test]
+ public void TestGetSceneObjectByPartLocalId()
+ {
+ TestHelpers.InMethod();
+
+ Scene scene = SceneHelpers.SetupScene();
+ int partsToTestCount = 3;
+
+ SceneObjectGroup so
+ = SceneHelpers.CreateSceneObject(partsToTestCount, TestHelpers.ParseTail(0x1), "obj1", 0x10);
+ SceneObjectPart[] parts = so.Parts;
+
+ scene.AddNewSceneObject(so, false);
+
+ // Test getting via the root part's local id
+ Assert.That(scene.GetGroupByPrim(so.LocalId), Is.Not.Null);
+
+ // Test getting via a non root part's local id
+ Assert.That(scene.GetGroupByPrim(parts[partsToTestCount - 1].LocalId), Is.Not.Null);
+
+ // Test that we don't get back an object for a local id that doesn't exist
+ Assert.That(scene.GetGroupByPrim(999), Is.Null);
+ }
///
/// Test deleting an object from a scene.
--
cgit v1.1
From f09a90d8a7cf1e4b32845c3ffddbf1ca780e664c Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 13 Sep 2011 18:08:05 +0100
Subject: extend TestGetSceneObjectByPartLocalId() to test state after scene
object deletion
---
OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs | 6 ++++++
1 file changed, 6 insertions(+)
(limited to 'OpenSim/Region/Framework/Scenes/Tests')
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs
index 281b85c..9586877 100644
--- a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs
+++ b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs
@@ -132,6 +132,12 @@ namespace OpenSim.Region.Framework.Scenes.Tests
// Test that we don't get back an object for a local id that doesn't exist
Assert.That(scene.GetGroupByPrim(999), Is.Null);
+
+ // Now delete the scene object and check again
+ scene.DeleteSceneObject(so, false);
+
+ Assert.That(scene.GetGroupByPrim(so.LocalId), Is.Null);
+ Assert.That(scene.GetGroupByPrim(parts[partsToTestCount - 1].LocalId), Is.Null);
}
///
--
cgit v1.1
From df73833a2c79a1a60536e386b5884581d9f2f4b3 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 13 Sep 2011 18:11:13 +0100
Subject: stop the duplicate remove of the root part ids from the full part and
local part indexes in SG.DeleteSceneObject()
this is unnecessary because the parts array iterated through contains the root part as well as the non-root parts
---
OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Region/Framework/Scenes/Tests')
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs
index 9586877..80f198d 100644
--- a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs
+++ b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs
@@ -135,7 +135,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests
// Now delete the scene object and check again
scene.DeleteSceneObject(so, false);
-
+
Assert.That(scene.GetGroupByPrim(so.LocalId), Is.Null);
Assert.That(scene.GetGroupByPrim(parts[partsToTestCount - 1].LocalId), Is.Null);
}
--
cgit v1.1