123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289 |
- /*
- * 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 NUnit.Framework;
- using OpenSim.Framework;
- using OpenMetaverse;
- using OpenMetaverse.StructuredData;
- using System;
- using System.Globalization;
- using System.Threading;
- using OpenSim.Tests.Common;
- namespace OpenSim.Framework.Tests
- {
- [TestFixture]
- public class MundaneFrameworkTests : OpenSimTestCase
- {
- private bool m_RegionSettingsOnSaveEventFired;
- [Test]
- public void ChildAgentDataUpdate01()
- {
- // code coverage
- ChildAgentDataUpdate cadu = new ChildAgentDataUpdate();
- Assert.IsFalse(cadu.alwaysrun, "Default is false");
- }
- [Test]
- public void AgentPositionTest01()
- {
- UUID AgentId1 = UUID.Random();
- UUID SessionId1 = UUID.Random();
- uint CircuitCode1 = uint.MinValue;
- Vector3 Size1 = Vector3.UnitZ;
- Vector3 Position1 = Vector3.UnitX;
- Vector3 LeftAxis1 = Vector3.UnitY;
- Vector3 UpAxis1 = Vector3.UnitZ;
- Vector3 AtAxis1 = Vector3.UnitX;
- ulong RegionHandle1 = ulong.MinValue;
- byte[] Throttles1 = new byte[] {0, 1, 0};
- Vector3 Velocity1 = Vector3.Zero;
- float Far1 = 256;
- bool ChangedGrid1 = false;
- Vector3 Center1 = Vector3.Zero;
- AgentPosition position1 = new AgentPosition();
- position1.AgentID = AgentId1;
- position1.SessionID = SessionId1;
- position1.CircuitCode = CircuitCode1;
- position1.Size = Size1;
- position1.Position = Position1;
- position1.LeftAxis = LeftAxis1;
- position1.UpAxis = UpAxis1;
- position1.AtAxis = AtAxis1;
- position1.RegionHandle = RegionHandle1;
- position1.Throttles = Throttles1;
- position1.Velocity = Velocity1;
- position1.Far = Far1;
- position1.ChangedGrid = ChangedGrid1;
- position1.Center = Center1;
- ChildAgentDataUpdate cadu = new ChildAgentDataUpdate();
- cadu.AgentID = AgentId1.Guid;
- cadu.ActiveGroupID = UUID.Zero.Guid;
- cadu.throttles = Throttles1;
- cadu.drawdistance = Far1;
- cadu.Position = Position1;
- cadu.Velocity = Velocity1;
- cadu.regionHandle = RegionHandle1;
- cadu.cameraPosition = Center1;
- cadu.AVHeight = Size1.Z;
- AgentPosition position2 = new AgentPosition();
- position2.CopyFrom(cadu, position1.SessionID);
- Assert.IsTrue(
- position2.AgentID == position1.AgentID
- && position2.Size == position1.Size
- && position2.Position == position1.Position
- && position2.Velocity == position1.Velocity
- && position2.Center == position1.Center
- && position2.RegionHandle == position1.RegionHandle
- && position2.Far == position1.Far
- ,"Copy From ChildAgentDataUpdate failed");
- position2 = new AgentPosition();
- Assert.IsFalse(position2.AgentID == position1.AgentID, "Test Error, position2 should be a blank uninitialized AgentPosition");
- EntityTransferContext ctx = new EntityTransferContext();
- position2.Unpack(position1.Pack(ctx), null, ctx);
- Assert.IsTrue(position2.AgentID == position1.AgentID, "Agent ID didn't unpack the same way it packed");
- Assert.IsTrue(position2.Position == position1.Position, "Position didn't unpack the same way it packed");
- Assert.IsTrue(position2.Velocity == position1.Velocity, "Velocity didn't unpack the same way it packed");
- Assert.IsTrue(position2.SessionID == position1.SessionID, "SessionID didn't unpack the same way it packed");
- Assert.IsTrue(position2.CircuitCode == position1.CircuitCode, "CircuitCode didn't unpack the same way it packed");
- Assert.IsTrue(position2.LeftAxis == position1.LeftAxis, "LeftAxis didn't unpack the same way it packed");
- Assert.IsTrue(position2.UpAxis == position1.UpAxis, "UpAxis didn't unpack the same way it packed");
- Assert.IsTrue(position2.AtAxis == position1.AtAxis, "AtAxis didn't unpack the same way it packed");
- Assert.IsTrue(position2.RegionHandle == position1.RegionHandle, "RegionHandle didn't unpack the same way it packed");
- Assert.IsTrue(position2.ChangedGrid == position1.ChangedGrid, "ChangedGrid didn't unpack the same way it packed");
- Assert.IsTrue(position2.Center == position1.Center, "Center didn't unpack the same way it packed");
- Assert.IsTrue(position2.Size == position1.Size, "Size didn't unpack the same way it packed");
- }
- [Test]
- public void RegionSettingsTest01()
- {
- RegionSettings settings = new RegionSettings();
- settings.OnSave += RegionSaveFired;
- settings.Save();
- settings.OnSave -= RegionSaveFired;
- // string str = settings.LoadedCreationDate;
- // int dt = settings.LoadedCreationDateTime;
- // string id = settings.LoadedCreationID;
- // string time = settings.LoadedCreationTime;
- Assert.That(m_RegionSettingsOnSaveEventFired, "RegionSettings Save Event didn't Fire");
- }
- public void RegionSaveFired(RegionSettings settings)
- {
- m_RegionSettingsOnSaveEventFired = true;
- }
- [Test]
- public void InventoryItemBaseConstructorTest01()
- {
- InventoryItemBase b1 = new InventoryItemBase();
- Assert.That(b1.ID == UUID.Zero, "void constructor should create an inventory item with ID = UUID.Zero");
- Assert.That(b1.Owner == UUID.Zero, "void constructor should create an inventory item with Owner = UUID.Zero");
- UUID ItemID = UUID.Random();
- UUID OwnerID = UUID.Random();
- InventoryItemBase b2 = new InventoryItemBase(ItemID);
- Assert.That(b2.ID == ItemID, "ID constructor should create an inventory item with ID = ItemID");
- Assert.That(b2.Owner == UUID.Zero, "ID constructor should create an inventory item with Owner = UUID.Zero");
- InventoryItemBase b3 = new InventoryItemBase(ItemID,OwnerID);
- Assert.That(b3.ID == ItemID, "ID,OwnerID constructor should create an inventory item with ID = ItemID");
- Assert.That(b3.Owner == OwnerID, "ID,OwnerID constructor should create an inventory item with Owner = OwnerID");
- }
- [Test]
- public void AssetMetaDataNonNullContentTypeTest01()
- {
- AssetMetadata assetMetadata = new AssetMetadata();
- assetMetadata.ContentType = "image/jp2";
- Assert.That(assetMetadata.Type == (sbyte)AssetType.Texture, "Content type should be AssetType.Texture");
- Assert.That(assetMetadata.ContentType == "image/jp2", "Text of content type should be image/jp2");
- UUID rndID = UUID.Random();
- assetMetadata.ID = rndID.ToString();
- Assert.That(assetMetadata.ID.ToLower() == rndID.ToString().ToLower(), "assetMetadata.ID Setter/Getter not Consistent");
- DateTime fixedTime = DateTime.Now;
- assetMetadata.CreationDate = fixedTime;
- }
- [Test]
- public void EstateSettingsMundateTests()
- {
- EstateSettings es = new EstateSettings();
- es.AddBan(null);
- UUID bannedUserId = UUID.Random();
- es.AddBan(new EstateBan()
- { BannedHostAddress = string.Empty,
- BannedHostIPMask = string.Empty,
- BannedHostNameMask = string.Empty,
- BannedUserID = bannedUserId}
- );
- Assert.IsTrue(es.IsBanned(bannedUserId, 32), "User Should be banned but is not.");
- Assert.IsFalse(es.IsBanned(UUID.Zero, 32), "User Should not be banned but is.");
- es.RemoveBan(bannedUserId);
- Assert.IsFalse(es.IsBanned(bannedUserId, 32), "User Should not be banned but is.");
- es.AddEstateManager(UUID.Zero);
- es.AddEstateManager(bannedUserId);
- Assert.IsTrue(es.IsEstateManagerOrOwner(bannedUserId), "bannedUserId should be EstateManager but isn't.");
- es.RemoveEstateManager(bannedUserId);
- Assert.IsFalse(es.IsEstateManagerOrOwner(bannedUserId), "bannedUserID is estateManager but shouldn't be");
- Assert.IsFalse(es.HasAccess(bannedUserId), "bannedUserID has access but shouldn't");
- es.AddEstateUser(bannedUserId);
- Assert.IsTrue(es.HasAccess(bannedUserId), "bannedUserID doesn't have access but should");
- es.RemoveEstateUser(bannedUserId);
- es.AddEstateManager(bannedUserId);
- Assert.IsTrue(es.HasAccess(bannedUserId), "bannedUserID doesn't have access but should");
- Assert.That(es.EstateGroups.Length == 0, "No Estate Groups Added.. so the array should be 0 length");
- es.AddEstateGroup(bannedUserId);
- Assert.That(es.EstateGroups.Length == 1, "1 Estate Groups Added.. so the array should be 1 length");
- Assert.That(es.EstateGroups[0] == bannedUserId,"User ID should be in EstateGroups");
- }
- [Test]
- public void InventoryFolderBaseConstructorTest01()
- {
- UUID uuid1 = UUID.Random();
- UUID uuid2 = UUID.Random();
- InventoryFolderBase fld = new InventoryFolderBase(uuid1);
- Assert.That(fld.ID == uuid1, "ID constructor failed to save value in ID field.");
- fld = new InventoryFolderBase(uuid1, uuid2);
- Assert.That(fld.ID == uuid1, "ID,Owner constructor failed to save value in ID field.");
- Assert.That(fld.Owner == uuid2, "ID,Owner constructor failed to save value in ID field.");
- }
- [Test]
- public void AsssetBaseConstructorTest01()
- {
- AssetBase abase = new AssetBase();
- Assert.IsNotNull(abase.Metadata, "void constructor of AssetBase should have created a MetaData element but didn't.");
- UUID itemID = UUID.Random();
- UUID creatorID = UUID.Random();
- abase = new AssetBase(itemID.ToString(), "test item", (sbyte) AssetType.Texture, creatorID.ToString());
- Assert.IsNotNull(abase.Metadata, "string,string,sbyte,string constructor of AssetBase should have created a MetaData element but didn't.");
- Assert.That(abase.ID == itemID.ToString(), "string,string,sbyte,string constructor failed to set ID property");
- Assert.That(abase.Metadata.CreatorID == creatorID.ToString(), "string,string,sbyte,string constructor failed to set Creator ID");
- abase = new AssetBase(itemID.ToString(), "test item", -1, creatorID.ToString());
- Assert.IsNotNull(abase.Metadata, "string,string,sbyte,string constructor of AssetBase with unknown type should have created a MetaData element but didn't.");
- Assert.That(abase.Metadata.Type == -1, "Unknown Type passed to string,string,sbyte,string constructor and was a known type when it came out again");
- AssetMetadata metts = new AssetMetadata();
- metts.FullID = itemID;
- metts.ID = string.Empty;
- metts.Name = "test item";
- abase.Metadata = metts;
- Assert.That(abase.ToString() == itemID.ToString(), "ToString is overriden to be fullID.ToString()");
- Assert.That(abase.ID == itemID.ToString(),"ID should be MetaData.FullID.ToString() when string.empty or null is provided to the ID property");
- }
- [Test]
- public void CultureSetCultureTest01()
- {
- CultureInfo ci = new CultureInfo("en-US", false);
- Culture.SetCurrentCulture();
- Assert.That(Thread.CurrentThread.CurrentCulture.Name == ci.Name, "SetCurrentCulture failed to set thread culture to en-US");
- }
- }
- }
|