public void T010_StoreSimpleAsset() { AssetBase a1 = new AssetBase(uuid1, "asset one", (sbyte)AssetType.Texture, UUID.Zero.ToString()); AssetBase a2 = new AssetBase(uuid2, "asset two", (sbyte)AssetType.Texture, UUID.Zero.ToString()); AssetBase a3 = new AssetBase(uuid3, "asset three", (sbyte)AssetType.Texture, UUID.Zero.ToString()); a1.Data = asset1; a2.Data = asset1; a3.Data = asset1; PropertyScrambler<AssetBase> scrambler = new PropertyScrambler<AssetBase>() .DontScramble(x => x.Data) .DontScramble(x => x.ID) .DontScramble(x => x.FullID) .DontScramble(x => x.Metadata.ID) .DontScramble(x => x.Metadata.CreatorID) .DontScramble(x => x.Metadata.ContentType) .DontScramble(x => x.Metadata.FullID); scrambler.Scramble(a1); scrambler.Scramble(a2); scrambler.Scramble(a3); db.StoreAsset(a1); db.StoreAsset(a2); db.StoreAsset(a3); AssetBase a1a = db.GetAsset(uuid1); Assert.That(a1a, Constraints.PropertyCompareConstraint(a1)); AssetBase a2a = db.GetAsset(uuid2); Assert.That(a2a, Constraints.PropertyCompareConstraint(a2)); AssetBase a3a = db.GetAsset(uuid3); Assert.That(a3a, Constraints.PropertyCompareConstraint(a3)); scrambler.Scramble(a1a); scrambler.Scramble(a2a); scrambler.Scramble(a3a); db.StoreAsset(a1a); db.StoreAsset(a2a); db.StoreAsset(a3a); AssetBase a1b = db.GetAsset(uuid1); Assert.That(a1b, Constraints.PropertyCompareConstraint(a1a)); AssetBase a2b = db.GetAsset(uuid2); Assert.That(a2b, Constraints.PropertyCompareConstraint(a2a)); AssetBase a3b = db.GetAsset(uuid3); Assert.That(a3b, Constraints.PropertyCompareConstraint(a3a)); Assert.That(db.ExistsAsset(uuid1), Is.True); Assert.That(db.ExistsAsset(uuid2), Is.True); Assert.That(db.ExistsAsset(uuid3), Is.True); List<AssetMetadata> metadatas = db.FetchAssetMetadataSet(0, 1000); AssetMetadata metadata = metadatas.Find(x => x.FullID == uuid1); Assert.That(metadata.Name, Is.EqualTo(a1b.Name)); Assert.That(metadata.Description, Is.EqualTo(a1b.Description)); Assert.That(metadata.Type, Is.EqualTo(a1b.Type)); Assert.That(metadata.Temporary, Is.EqualTo(a1b.Temporary)); Assert.That(metadata.FullID, Is.EqualTo(a1b.FullID)); }
public void T016_RandomSogWithSceneParts() { PropertyScrambler<SceneObjectPart> scrambler = new PropertyScrambler<SceneObjectPart>() .DontScramble(x => x.UUID); UUID tmpSog = UUID.Random(); UUID tmp1 = UUID.Random(); UUID tmp2 = UUID.Random(); UUID tmp3 = UUID.Random(); UUID newregion = UUID.Random(); SceneObjectPart p1 = new SceneObjectPart(); SceneObjectPart p2 = new SceneObjectPart(); SceneObjectPart p3 = new SceneObjectPart(); p1.Shape = PrimitiveBaseShape.Default; p2.Shape = PrimitiveBaseShape.Default; p3.Shape = PrimitiveBaseShape.Default; p1.UUID = tmp1; p2.UUID = tmp2; p3.UUID = tmp3; scrambler.Scramble(p1); scrambler.Scramble(p2); scrambler.Scramble(p3); SceneObjectGroup sog = NewSOG("Sop 0", tmpSog, newregion); PropertyScrambler<SceneObjectGroup> sogScrambler = new PropertyScrambler<SceneObjectGroup>() .DontScramble(x => x.UUID); sogScrambler.Scramble(sog); sog.UUID = tmpSog; sog.AddPart(p1); sog.AddPart(p2); sog.AddPart(p3); SceneObjectPart[] parts = sog.GetParts(); Assert.That(parts.Length, Is.EqualTo(4), "Assert.That(parts.Length,Is.EqualTo(4))"); db.StoreObject(sog, newregion); List<SceneObjectGroup> sogs = db.LoadObjects(newregion); Assert.That(sogs.Count, Is.EqualTo(1), "Assert.That(sogs.Count,Is.EqualTo(1))"); SceneObjectGroup newsog = sogs[0]; SceneObjectPart[] newparts = newsog.GetParts(); Assert.That(newparts.Length, Is.EqualTo(4), "Assert.That(newparts.Length,Is.EqualTo(4))"); Assert.That(newsog, Constraints.PropertyCompareConstraint(sog) .IgnoreProperty(x=>x.LocalId) .IgnoreProperty(x=>x.HasGroupChanged) .IgnoreProperty(x=>x.IsSelected) .IgnoreProperty(x=>x.RegionHandle) .IgnoreProperty(x=>x.RegionUUID) .IgnoreProperty(x=>x.Scene) .IgnoreProperty(x=>x.Children) .IgnoreProperty(x=>x.RootPart)); }
public void T104_RandomUpdateItem() { PropertyScrambler<InventoryFolderBase> folderScrambler = new PropertyScrambler<InventoryFolderBase>() .DontScramble(x => x.Owner) .DontScramble(x => x.ParentID) .DontScramble(x => x.ID); UUID owner = UUID.Random(); UUID folder = UUID.Random(); UUID rootId = UUID.Random(); UUID rootAsset = UUID.Random(); InventoryFolderBase f1 = NewFolder(folder, zero, owner, name1); folderScrambler.Scramble(f1); db.addInventoryFolder(f1); InventoryFolderBase f1a = db.getUserRootFolder(owner); Assert.That(f1a, Constraints.PropertyCompareConstraint(f1)); folderScrambler.Scramble(f1a); db.updateInventoryFolder(f1a); InventoryFolderBase f1b = db.getUserRootFolder(owner); Assert.That(f1b, Constraints.PropertyCompareConstraint(f1a)); //Now we have a valid folder to insert into, we can insert the item. PropertyScrambler<InventoryItemBase> inventoryScrambler = new PropertyScrambler<InventoryItemBase>() .DontScramble(x => x.ID) .DontScramble(x => x.AssetID) .DontScramble(x => x.Owner) .DontScramble(x => x.Folder); InventoryItemBase root = NewItem(rootId, folder, owner, iname1, rootAsset); inventoryScrambler.Scramble(root); db.addInventoryItem(root); InventoryItemBase expected = db.getInventoryItem(rootId); Assert.That(expected, Constraints.PropertyCompareConstraint(root) .IgnoreProperty(x => x.InvType) .IgnoreProperty(x => x.CreatorIdAsUuid) .IgnoreProperty(x => x.Description) .IgnoreProperty(x => x.CreatorId)); inventoryScrambler.Scramble(expected); db.updateInventoryItem(expected); InventoryItemBase actual = db.getInventoryItem(rootId); Assert.That(actual, Constraints.PropertyCompareConstraint(expected) .IgnoreProperty(x => x.InvType) .IgnoreProperty(x => x.CreatorIdAsUuid) .IgnoreProperty(x => x.Description) .IgnoreProperty(x => x.CreatorId)); }