Add api level test for removing an owned npc

avinationmerge
Justin Clark-Casey (justincc) 2012-01-12 22:35:11 +00:00
parent caa207f59f
commit beab155434
1 changed files with 55 additions and 2 deletions

View File

@ -77,10 +77,63 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
} }
/// <summary> /// <summary>
/// Test creation of an NPC where the appearance data comes from an avatar already in the region. /// Test removal of an owned NPC.
/// </summary> /// </summary>
[Test] [Test]
public void TestOsNpcRemove() public void TestOsNpcRemoveOwned()
{
TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure();
// Store an avatar with a different height from default in a notecard.
UUID userId = TestHelpers.ParseTail(0x1);
UUID otherUserId = TestHelpers.ParseTail(0x2);
float newHeight = 1.9f;
SceneHelpers.AddScenePresence(m_scene, otherUserId);
ScenePresence sp = SceneHelpers.AddScenePresence(m_scene, userId);
sp.Appearance.AvatarHeight = newHeight;
SceneObjectGroup so = SceneHelpers.CreateSceneObject(1, userId);
SceneObjectPart part = so.RootPart;
m_scene.AddSceneObject(so);
SceneObjectGroup otherSo = SceneHelpers.CreateSceneObject(1, otherUserId);
SceneObjectPart otherPart = otherSo.RootPart;
m_scene.AddSceneObject(otherSo);
OSSL_Api osslApi = new OSSL_Api();
osslApi.Initialize(m_engine, part, part.LocalId, part.UUID);
OSSL_Api otherOsslApi = new OSSL_Api();
otherOsslApi.Initialize(m_engine, otherPart, otherPart.LocalId, otherPart.UUID);
string notecardName = "appearanceNc";
osslApi.osOwnerSaveAppearance(notecardName);
string npcRaw
= osslApi.osNpcCreate(
"Jane", "Doe", new LSL_Types.Vector3(128, 128, 128), notecardName, ScriptBaseClass.OS_NPC_CREATOR_OWNED);
otherOsslApi.osNpcRemove(npcRaw);
// Should still be around
UUID npcId = new UUID(npcRaw);
ScenePresence npc = m_scene.GetScenePresence(npcId);
Assert.That(npc, Is.Not.Null);
osslApi.osNpcRemove(npcRaw);
npc = m_scene.GetScenePresence(npcId);
}
/// <summary>
/// Test removal of an unowned NPC.
/// </summary>
[Test]
public void TestOsNpcRemoveUnowned()
{ {
TestHelpers.InMethod(); TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure(); // log4net.Config.XmlConfigurator.Configure();