From e02aaaf9db6750867fa74f96861a3d3f8d03693f Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Thu, 11 Dec 2008 16:40:22 +0000 Subject: * minor: Move mock test classes into mock namespace --- .../Tests/Infra/Mock/TestInventoryDataPlugin.cs | 118 +++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 OpenSim/Tests/Infra/Mock/TestInventoryDataPlugin.cs (limited to 'OpenSim/Tests/Infra/Mock/TestInventoryDataPlugin.cs') diff --git a/OpenSim/Tests/Infra/Mock/TestInventoryDataPlugin.cs b/OpenSim/Tests/Infra/Mock/TestInventoryDataPlugin.cs new file mode 100644 index 0000000..826ce1b --- /dev/null +++ b/OpenSim/Tests/Infra/Mock/TestInventoryDataPlugin.cs @@ -0,0 +1,118 @@ +/* + * 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 OpenSim 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 System; +using System.Collections.Generic; +using OpenMetaverse; +using OpenSim.Framework; + +namespace OpenSim.Tests.Infra.Mock +{ + /// + /// In memory inventory data plugin for test purposes. Could be another dll when properly filled out and when the + /// mono addin plugin system starts co-operating with the unit test system. Currently no locking since unit + /// tests are single threaded. + /// + public class TestInventoryDataPlugin : IInventoryDataPlugin + { + /// + /// Known inventory folders + /// + private Dictionary m_folders = new Dictionary(); + + /// + /// User root folders + /// + private Dictionary m_rootFolders = new Dictionary(); + + public string Version { get { return "0"; } } + public string Name { get { return "TestInventoryDataPlugin"; } } + + public void Initialise() {} + public void Initialise(string connect) {} + public void Dispose() {} + + public List getFolderHierarchy(UUID parentID) + { + List folders = new List(); + + foreach (InventoryFolderBase folder in m_folders.Values) + { + if (folder.ParentID == parentID) + { + folders.AddRange(getFolderHierarchy(folder.ID)); + folders.Add(folder); + } + } + + return folders; + } + + public List getInventoryInFolder(UUID folderID) + { + return new List(); + } + + public List getUserRootFolders(UUID user) { return null; } + + public InventoryFolderBase getUserRootFolder(UUID user) + { + InventoryFolderBase folder = null; + m_rootFolders.TryGetValue(user, out folder); + + return folder; + } + + public List getInventoryFolders(UUID parentID) { return null; } + public InventoryItemBase getInventoryItem(UUID item) { return null; } + + public InventoryFolderBase getInventoryFolder(UUID folderId) + { + InventoryFolderBase folder = null; + m_folders.TryGetValue(folderId, out folder); + + return folder; + } + + public void addInventoryItem(InventoryItemBase item) {} + public void updateInventoryItem(InventoryItemBase item) {} + public void deleteInventoryItem(UUID item) {} + + public void addInventoryFolder(InventoryFolderBase folder) + { + m_folders[folder.ID] = folder; + + if (folder.ParentID == UUID.Zero) + m_rootFolders[folder.Owner] = folder; + } + + public void updateInventoryFolder(InventoryFolderBase folder) {} + public void moveInventoryFolder(InventoryFolderBase folder) {} + public void deleteInventoryFolder(UUID folder) {} + public List fetchActiveGestures(UUID avatarID) { return null; } + } +} -- cgit v1.1