[mapguide-commits] r8477 - in trunk/Tools/Maestro: . OSGeo.MapGuide.MaestroAPI/Mapping OSGeo.MapGuide.MaestroAPI.Tests OSGeo.MapGuide.MaestroAPI.Tests/CrossConnection OSGeo.MapGuide.MaestroAPI.Tests/Mapping

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Sun Dec 28 17:18:35 PST 2014


Author: jng
Date: 2014-12-28 17:18:35 -0800 (Sun, 28 Dec 2014)
New Revision: 8477

Added:
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Tests/Mapping/
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Tests/Mapping/RuntimeMapTests.cs
Modified:
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Tests/CrossConnection/ResourceMigratorTests.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Tests/CrossConnection/ResourceRebaserTests.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Tests/OSGeo.MapGuide.MaestroAPI.Tests.csproj
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Mapping/Collections.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Mapping/RuntimeMap.cs
   trunk/Tools/Maestro/UnitTests.playlist
Log:
Maestro unit test suite expansion

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Mapping/Collections.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Mapping/Collections.cs	2014-12-27 18:39:02 UTC (rev 8476)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Mapping/Collections.cs	2014-12-29 01:18:35 UTC (rev 8477)
@@ -154,7 +154,11 @@
             {
                 if (_values[index] != null)
                     RemoveAt(index);
-                _values[index] = value;
+
+                if (index < _values.Count - 1)
+                    _values[index] = value;
+                else
+                    _values.Add(value);
                 OnCollectionChanged();
             }
         }

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Mapping/RuntimeMap.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Mapping/RuntimeMap.cs	2014-12-27 18:39:02 UTC (rev 8476)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Mapping/RuntimeMap.cs	2014-12-29 01:18:35 UTC (rev 8477)
@@ -196,6 +196,10 @@
             {
                 _mapSvc = (IMappingService)conn.GetService((int)ServiceType.Mapping);
             }
+            else
+            {
+                throw new NotSupportedException();
+            }
             if (Array.IndexOf(conn.Capabilities.SupportedCommands, (int)CommandType.GetResourceContents) >= 0)
             {
                 _getRes = (IGetResourceContents)conn.CreateCommand((int)CommandType.GetResourceContents);
@@ -270,6 +274,9 @@
         internal RuntimeMap(IServerConnection conn, IMapDefinition mdf, double metersPerUnit, bool suppressErrors)
             : this(conn)
         {
+            Check.ArgumentNotNull(conn, "conn"); //NOXLATE
+            Check.ArgumentNotNull(mdf, "mdf"); //NOXLATE
+            Check.ArgumentNotNull(mdf.ResourceID, "mdf.ResourceID"); //NOXLATE
             this.MetersPerUnit = metersPerUnit;
 
             this.MapDefinition = mdf.ResourceID;
@@ -1112,7 +1119,6 @@
         /// </summary>
         /// <param name="id">The id.</param>
         /// <returns></returns>
-        [Obsolete("Use the Layers property instead")] //NOXLATE
         public RuntimeMapLayer GetLayerByObjectId(string id)
         {
             return this.Layers.GetByObjectId(id);
@@ -1142,66 +1148,10 @@
         protected Dictionary<string, ILayerDefinition> layerDefinitionCache = new Dictionary<string, ILayerDefinition>();
 
         /// <summary>
-        /// Adds the layer to the map. Does nothing if the layer instance is already in the map.
-        /// </summary>
-        /// <param name="layer"></param>
-        /// <returns></returns>
-        [Obsolete("Use the Layers property instead")] //NOXLATE
-        internal void AddLayer(RuntimeMapLayer layer)
-        {
-            this.Layers.Add(layer);
-        }
-
-        /// <summary>
-        /// Inserts the specified layer at the specified index. Does nothing
-        /// if the layer instance is already in the map.
-        /// </summary>
-        /// <param name="index"></param>
-        /// <param name="layer"></param>
-        [Obsolete("Use the Layers property instead")] //NOXLATE
-        public void InsertLayer(int index, RuntimeMapLayer layer)
-        {
-            this.Layers.Insert(index, layer);
-        }
-
-        /// <summary>
-        /// Sets the layer to the specified index
-        /// </summary>
-        /// <param name="index">The index.</param>
-        /// <param name="layer">The layer.</param>
-        [Obsolete("Use the Layers property instead")] //NOXLATE
-        public void SetLayerIndex(int index, RuntimeMapLayer layer)
-        {
-            this.Layers[index] = layer;
-        }
-
-        /// <summary>
-        /// Removes the layer at the specified index
-        /// </summary>
-        /// <param name="index">The index.</param>
-        [Obsolete("Use the Layers property instead")] //NOXLATE
-        public void RemoveLayerAt(int index)
-        {
-            this.Layers.RemoveAt(index);
-        }
-
-        /// <summary>
-        /// Gets the index of the specified layer
-        /// </summary>
-        /// <param name="layer"></param>
-        /// <returns></returns>
-        [Obsolete("Use the Layers property instead")] //NOXLATE
-        public int IndexOfLayer(RuntimeMapLayer layer)
-        {
-            return this.Layers.IndexOf(layer);
-        }
-
-        /// <summary>
         /// Gets the index of the first layer whose name matches the specified name
         /// </summary>
         /// <param name="layerName"></param>
         /// <returns></returns>
-        [Obsolete("Use the Layers property instead")] //NOXLATE
         public int IndexOfLayer(string layerName)
         {
             Check.NotEmpty(layerName, "layerName"); //NOXLATE
@@ -1210,23 +1160,6 @@
             return this.Layers.IndexOf(layer);
         }
 
-        /// <summary>
-        /// Creates a new runtime layer from a layer definition. The created layer needs
-        /// to be added to the map.
-        /// </summary>
-        /// <param name="layerDefinitionId"></param>
-        /// <param name="group"></param>
-        /// <returns></returns>
-        [Obsolete("Use RuntimeMapLayer constructor")] //NOXLATE
-        public RuntimeMapLayer CreateLayer(string layerDefinitionId, RuntimeMapGroup group)
-        {
-            ILayerDefinition ldf = GetLayerDefinition(layerDefinitionId);
-            var layer = new RuntimeMapLayer(this, ldf, true);
-            if (group != null)
-                layer.Group = group.Name;
-            return layer;
-        }
-
         private ILayerDefinition GetLayerDefinition(string layerDefinitionId)
         {
             ILayerDefinition ldf = null;
@@ -1258,28 +1191,6 @@
         }
 
         /// <summary>
-        /// Removes the specified layer.
-        /// </summary>
-        /// <param name="layer">The layer.</param>
-        [Obsolete("Use the Layers property instead")] //NOXLATE
-        public void RemoveLayer(RuntimeMapLayer layer)
-        {
-            Check.NotNull(layer, "layer"); //NOXLATE
-            this.Layers.Remove(layer);
-        }
-
-        /// <summary>
-        /// Removes the specified group.
-        /// </summary>
-        /// <param name="group">The group.</param>
-        [Obsolete("Use the Groups property instead")] //NOXLATE
-        public void RemoveGroup(RuntimeMapGroup group)
-        {
-            Check.NotNull(group, "group"); //NOXLATE
-            this.Groups.Remove(group);
-        }
-
-        /// <summary>
         /// Gets the layers of the specified group
         /// </summary>
         /// <param name="groupName">Name of the group.</param>
@@ -1404,18 +1315,6 @@
             this.ResourceService.SetResourceData(selectionID, "RuntimeData", ResourceDataType.Stream, ms); //NOXLATE
         }
 
-        /// <summary>
-        /// Gets the layer by its specified name
-        /// </summary>
-        /// <param name="name">The name.</param>
-        /// <returns></returns>
-        [Obsolete("Use the indexer of the Layer property instead")] //NOXLATE
-        public RuntimeMapLayer GetLayerByName(string name)
-        {
-            Check.NotEmpty(name, "name"); //NOXLATE
-            return this.Layers[name];
-        }
-
         #region change tracking
 
         //This mirrors the unmanaged implementation of MgMapBase

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Tests/CrossConnection/ResourceMigratorTests.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Tests/CrossConnection/ResourceMigratorTests.cs	2014-12-27 18:39:02 UTC (rev 8476)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Tests/CrossConnection/ResourceMigratorTests.cs	2014-12-29 01:18:35 UTC (rev 8477)
@@ -1,23 +1,23 @@
-#region Disclaimer / License
-
-// Copyright (C) 2014, Jackie Ng
-// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
+#region Disclaimer / License
+
+// Copyright (C) 2014, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
 #endregion Disclaimer / License
 
 using System;

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Tests/CrossConnection/ResourceRebaserTests.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Tests/CrossConnection/ResourceRebaserTests.cs	2014-12-27 18:39:02 UTC (rev 8476)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Tests/CrossConnection/ResourceRebaserTests.cs	2014-12-29 01:18:35 UTC (rev 8477)
@@ -1,23 +1,23 @@
-#region Disclaimer / License
-
-// Copyright (C) 2014, Jackie Ng
-// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
+#region Disclaimer / License
+
+// Copyright (C) 2014, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
 #endregion Disclaimer / License
 
 using System;

Added: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Tests/Mapping/RuntimeMapTests.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Tests/Mapping/RuntimeMapTests.cs	                        (rev 0)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Tests/Mapping/RuntimeMapTests.cs	2014-12-29 01:18:35 UTC (rev 8477)
@@ -0,0 +1,303 @@
+#region Disclaimer / License
+
+// Copyright (C) 2014, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+#endregion Disclaimer / License
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using OSGeo.MapGuide.MaestroAPI.Mapping;
+using NUnit.Framework;
+using OSGeo.MapGuide.ObjectModels;
+using OSGeo.MapGuide.ObjectModels.MapDefinition;
+using System.IO;
+using Moq;
+using OSGeo.MapGuide.MaestroAPI.Services;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition;
+
+namespace OSGeo.MapGuide.MaestroAPI.Mapping.Tests
+{
+    [TestFixture()]
+    public class RuntimeMapTests
+    {
+        private static RuntimeMap CreateTestMap()
+        {
+            var layers = new Dictionary<string, ILayerDefinition>();
+            var mdf = (IMapDefinition)ObjectFactory.Deserialize(ResourceTypes.MapDefinition.ToString(), File.OpenRead("UserTestData\\TestTiledMap.xml"));
+            mdf.ResourceID = "Library://UnitTest/Test.MapDefinition";
+            foreach (var lyr in mdf.BaseMap.BaseMapLayerGroup.First().BaseMapLayer)
+            {
+                var ldf = ObjectFactory.CreateDefaultLayer(LayerType.Vector, new Version(1, 0, 0));
+                ldf.ResourceID = lyr.ResourceId;
+                layers.Add(lyr.ResourceId, ldf);
+            }
+            var conn = new Mock<IServerConnection>();
+            var mapSvc = new Mock<IMappingService>();
+            var resSvc = new Mock<IResourceService>();
+            var caps = new Mock<IConnectionCapabilities>();
+
+            foreach (var kvp in layers)
+            {
+                resSvc.Setup(r => r.GetResource(kvp.Key)).Returns(kvp.Value);
+            }
+            resSvc.Setup(r => r.GetResource("Library://UnitTest/Test.MapDefinition")).Returns(mdf);
+
+            foreach (var kvp in layers)
+            {
+                mapSvc.Setup(m => m.CreateMapLayer(It.IsAny<RuntimeMap>(), It.IsAny<IBaseMapLayer>()))
+                      .Returns((RuntimeMap rtMap, IBaseMapLayer rl) => new RuntimeMapLayer(rtMap) { Name = rl.Name, LayerDefinitionID = kvp.Key });
+            }
+            mapSvc.Setup(m => m.CreateMapGroup(It.IsAny<RuntimeMap>(), It.IsAny<IBaseMapGroup>()))
+                  .Returns((RuntimeMap rtMap, IBaseMapGroup grp) => new RuntimeMapGroup(rtMap, grp));
+            mapSvc.Setup(m => m.CreateMapGroup(It.IsAny<RuntimeMap>(), It.IsAny<string>()))
+                  .Returns((RuntimeMap rtMap, string name) => new RuntimeMapGroup(rtMap, name));
+            
+            caps.Setup(c => c.SupportedServices).Returns(new int[] { (int)ServiceType.Mapping });
+            caps.Setup(c => c.SupportedCommands).Returns(new int[0]);
+            caps.Setup(c => c.GetMaxSupportedResourceVersion(It.IsAny<string>())).Returns(new Version(1, 0, 0));
+            
+            conn.Setup(c => c.Capabilities).Returns(caps.Object);
+            conn.Setup(c => c.ResourceService).Returns(resSvc.Object);
+            conn.Setup(c => c.GetService((int)ServiceType.Mapping)).Returns(mapSvc.Object);
+
+            var map = new RuntimeMap(conn.Object, mdf, 1.0, true);
+            Assert.AreEqual(15, map.FiniteDisplayScaleCount);
+            Assert.NotNull(map.Layers);
+            Assert.NotNull(map.Groups);
+            return map;
+        }
+
+        [Test()]
+        public void UnsupportedConnectionTest()
+        {
+            var res = (IMapDefinition)ObjectFactory.Deserialize(ResourceTypes.MapDefinition.ToString(), File.OpenRead("UserTestData\\TestTiledMap.xml"));
+            var conn = new Mock<IServerConnection>();
+            var caps = new Mock<IConnectionCapabilities>();
+            caps.Setup(c => c.SupportedServices).Returns(new int[0]);
+            caps.Setup(c => c.SupportedCommands).Returns(new int[0]);
+            conn.Setup(c => c.Capabilities).Returns(caps.Object);
+
+            Assert.Throws<NotSupportedException>(() => new RuntimeMap(conn.Object, res, 1.0, true));
+        }
+
+        [Test()]
+        public void GetFiniteDisplayScaleAtTest()
+        {
+            var map = CreateTestMap();
+            Assert.Throws<IndexOutOfRangeException>(() => map.GetFiniteDisplayScaleAt(-1));
+            Assert.Throws<IndexOutOfRangeException>(() => map.GetFiniteDisplayScaleAt(16));
+            for (int i = 0; i < map.FiniteDisplayScaleCount; i++)
+            {
+                Assert.Greater(map.GetFiniteDisplayScaleAt(i), 0);
+            }
+        }
+
+        [Test()]
+        public void SetViewCenterTest()
+        {
+            var map = CreateTestMap();
+            map.SetViewCenter(-37, 23);
+            Assert.AreEqual(-37, map.ViewCenter.X);
+            Assert.AreEqual(23, map.ViewCenter.Y);
+        }
+
+        [Test()]
+        public void GetGroupByNameTest()
+        {
+            var map = CreateTestMap();
+            Assert.NotNull(map.Groups["Base Layer Group"]);
+            Assert.Null(map.Groups["asjgsfdsf"]);
+        }
+
+        [Test()]
+        public void GetLayerByObjectIdTest()
+        {
+            var map = CreateTestMap();
+            var lyr = map.Layers["Rail"];
+            var lyr2 = map.GetLayerByObjectId(lyr.ObjectId);
+            Assert.NotNull(lyr2);
+            Assert.AreSame(lyr, lyr2);
+            Assert.Null(map.GetLayerByObjectId("asjgsfdsf"));
+        }
+
+        [Test()]
+        public void InsertLayerTest()
+        {
+            var map = CreateTestMap();
+            //Mock setup in CreateTestMap() will ensure we get a service that does
+            //the things we require
+            var mapSvc = (IMappingService)map.CurrentConnection.GetService((int)ServiceType.Mapping);
+            var layer = new Mock<IBaseMapLayer>();
+            layer.Setup(l => l.Name).Returns("Test");
+            layer.Setup(l => l.ResourceId).Returns("Library://Test/Test.LayerDefinition");
+            var lyr = mapSvc.CreateMapLayer(map, layer.Object);
+            int count = map.Layers.Count;
+            map.Layers.Insert(0, lyr);
+            Assert.AreEqual(count + 1, map.Layers.Count);
+            var lyr2 = map.Layers[0];
+            Assert.AreSame(lyr, lyr2);
+        }
+
+        [Test()]
+        public void SetLayerIndexTest()
+        {
+            var map = CreateTestMap();
+            //Mock setup in CreateTestMap() will ensure we get a service that does
+            //the things we require
+            var mapSvc = (IMappingService)map.CurrentConnection.GetService((int)ServiceType.Mapping);
+            var layer = new Mock<IBaseMapLayer>();
+            layer.Setup(l => l.Name).Returns("Test");
+            layer.Setup(l => l.ResourceId).Returns("Library://Test/Test.LayerDefinition");
+            var lyr = mapSvc.CreateMapLayer(map, layer.Object);
+            int count = map.Layers.Count;
+            int idx = map.Layers.Count - 1;
+            map.Layers[idx] = lyr;
+            Assert.AreEqual(count, map.Layers.Count);
+            var lyr2 = map.Layers[idx];
+            Assert.AreSame(lyr, lyr2);
+        }
+
+        [Test()]
+        public void RemoveLayerAtTest()
+        {
+            var map = CreateTestMap();
+            
+            Assert.Throws<ArgumentOutOfRangeException>(() => map.Layers.RemoveAt(5));
+            int count = map.Layers.Count;
+            var lyr = map.Layers[0];
+            map.Layers.RemoveAt(0);
+            Assert.AreEqual(count - 1, map.Layers.Count);
+            Assert.Null(map.Layers[lyr.Name]);
+        }
+
+        [Test()]
+        public void IndexOfLayerTest()
+        {
+            var map = CreateTestMap();
+            Assert.GreaterOrEqual(map.IndexOfLayer("Rail"), 0);
+            Assert.GreaterOrEqual(map.IndexOfLayer("Parcels"), 0);
+            Assert.GreaterOrEqual(map.IndexOfLayer("HydrographicPolygons"), 0);
+            Assert.Less(map.IndexOfLayer("sdjgdsfasdf"), 0);
+        }
+
+        [Test()]
+        public void RemoveLayerTest()
+        {
+            var map = CreateTestMap();
+            Assert.AreEqual(3, map.Layers.Count);
+            map.Layers.Remove("Rail");
+            Assert.AreEqual(2, map.Layers.Count);
+            map.Layers.Remove("asdgjsdfdsf");
+            Assert.AreEqual(2, map.Layers.Count);
+        }
+
+        [Test()]
+        public void RemoveGroupTest()
+        {
+            var map = CreateTestMap();
+            Assert.AreEqual(1, map.Groups.Count);
+            map.Groups.Remove("Base Layer Group");
+            Assert.AreEqual(0, map.Groups.Count);
+
+            map = CreateTestMap();
+            var grp = map.Groups[0];
+            map.Groups.Remove(grp);
+            Assert.AreEqual(0, map.Groups.Count);
+        }
+
+        [Test()]
+        public void GetLayersOfGroupTest()
+        {
+            var map = CreateTestMap();
+            var layers = map.GetLayersOfGroup("Base Layer Group");
+            Assert.AreEqual(3, layers.Length);
+            layers = map.GetLayersOfGroup("asdjgdsfd");
+            Assert.AreEqual(0, layers.Length);
+        }
+
+        [Test()]
+        public void GetGroupsOfGroupTest()
+        {
+            var map = CreateTestMap();
+            var groups = map.GetGroupsOfGroup("Base Layer Group");
+            Assert.AreEqual(0, groups.Length);
+            groups = map.GetGroupsOfGroup("asdjsdfdsfd");
+            Assert.AreEqual(0, groups.Length);
+            var mapSvc = (IMappingService)map.CurrentConnection.GetService((int)ServiceType.Mapping);
+            var grp = mapSvc.CreateMapGroup(map, "Test");
+            grp.Group = "Base Layer Group";
+            map.Groups.Add(grp);
+            Assert.AreEqual(2, map.Groups.Count);
+            groups = map.GetGroupsOfGroup("Base Layer Group");
+            Assert.AreEqual(1, groups.Length);
+            groups = map.GetGroupsOfGroup("Test");
+            Assert.AreEqual(0, groups.Length);
+        }
+        
+        [Test()]
+        public void GetLayerByNameTest()
+        {
+            var map = CreateTestMap();
+            Assert.NotNull(map.Layers["Rail"]);
+            Assert.NotNull(map.Layers["Parcels"]);
+            Assert.NotNull(map.Layers["HydrographicPolygons"]);
+            Assert.Null(map.Layers["sdhgdsafdsfd"]);
+        }
+
+        [Test()]
+        public void UpdateMapDefinitionTest()
+        {
+            var map = CreateTestMap();
+            IMapDefinition mdf = ObjectFactory.CreateMapDefinition(new Version(1, 0, 0), "Test Map");
+            map.UpdateMapDefinition(mdf);
+            Assert.AreEqual(0, mdf.GetLayerCount());
+            Assert.AreEqual(0, mdf.GetGroupCount());
+            Assert.NotNull(mdf.BaseMap);
+            var grp = mdf.BaseMap.GetFirstGroup();
+            Assert.NotNull(grp);
+            Assert.AreEqual(3, grp.BaseMapLayer.Count());
+            Assert.AreEqual("Base Layer Group", grp.Name);
+        }
+
+        [Test()]
+        public void ToMapDefinitionTest()
+        {
+            var map = CreateTestMap();
+            var mdf = map.ToMapDefinition(false);
+            Assert.AreEqual(0, mdf.GetLayerCount());
+            Assert.AreEqual(0, mdf.GetGroupCount());
+            Assert.NotNull(mdf.BaseMap);
+            var grp = mdf.BaseMap.GetFirstGroup();
+            Assert.NotNull(grp);
+            Assert.AreEqual(3, grp.BaseMapLayer.Count());
+            Assert.AreEqual("Base Layer Group", grp.Name);
+
+            mdf = map.ToMapDefinition(true);
+            Assert.AreEqual(0, mdf.GetLayerCount());
+            Assert.AreEqual(0, mdf.GetGroupCount());
+            Assert.NotNull(mdf.BaseMap);
+            grp = mdf.BaseMap.GetFirstGroup();
+            Assert.NotNull(grp);
+            Assert.AreEqual(3, grp.BaseMapLayer.Count());
+            Assert.AreEqual("Base Layer Group", grp.Name);
+        }
+    }
+}

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Tests/OSGeo.MapGuide.MaestroAPI.Tests.csproj
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Tests/OSGeo.MapGuide.MaestroAPI.Tests.csproj	2014-12-27 18:39:02 UTC (rev 8476)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Tests/OSGeo.MapGuide.MaestroAPI.Tests.csproj	2014-12-29 01:18:35 UTC (rev 8477)
@@ -60,6 +60,7 @@
     <Compile Include="CrossConnection\ResourceMigratorTests.cs" />
     <Compile Include="CrossConnection\ResourceRebaserTests.cs" />
     <Compile Include="FeatureReaderTests.cs" />
+    <Compile Include="Mapping\RuntimeMapTests.cs" />
     <Compile Include="MiscTests.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="Properties\Resources.Designer.cs">
@@ -150,6 +151,7 @@
     </Content>
     <Content Include="UserTestData\TestTiledMap.xml">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+      <SubType>Designer</SubType>
     </Content>
     <Content Include="UserTestData\wms_config_example1.xml">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>

Modified: trunk/Tools/Maestro/UnitTests.playlist
===================================================================
--- trunk/Tools/Maestro/UnitTests.playlist	2014-12-27 18:39:02 UTC (rev 8476)
+++ trunk/Tools/Maestro/UnitTests.playlist	2014-12-29 01:18:35 UTC (rev 8477)
@@ -1 +1 @@
-<Playlist Version="1.0"><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.GeometricPropertyDefinitionTests.GeometricPropertyDefinitionTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.FeatureSchemaTests.IndexOfTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestWebLayoutConversions" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ValidationTests.TestUniqueIssues" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.SchemaTests.FindPropertyTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.CapabilityTests.TestHttpCapabilities240" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.FeatureSchemaTests.WriteXmlTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.MiscTests.TestParse3dWkt" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.CapabilityTests.TestHttpCapabilities220" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ValidationTests.TestLayerScaleRangeOverlap" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestMapDefinitionConversions" /><Add Test="
 OSGeo.MapGuide.MaestroAPI.Tests.ValidationTests.TestLoadProcedureValidation" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ConfigurationDocumentTests.TestOdbcLoad" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.GeometricPropertyDefinitionTests.GeometryTypesToStringTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.FeatureSchemaTests.AddClassTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestWebLayout" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ConfigurationDocumentTests.TestOdbcSaveLoad" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.FeatureReaderTests.TestXmlFeatureJoinValues" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.CapabilityTests.TestHttpCapabilities120" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.FeatureReaderTests.TestXmlAggregateNullValues" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.SchemaTests.GetOrdinalTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.MiscTests.TestArgParser" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.T
 ests.FeatureSchemaTests.CloneTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestMapDefinitionNestedGroupDelete" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.SchemaTests.RemovePropertyTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestMapDefinitionLayerRemove" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.SchemaTests.TestCreate" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestMapDefinitionGroupReordering" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ConfigurationDocumentTests.TestWmsSaveLoad" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ConfigurationDocumentTests.TestOdbcLoad2" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.SchemaTests.RemovePropertyAtTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.FeatureSchemaTests.GetClassTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.SchemaTests.ClassDefinitionTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.CapabilityTests.TestHttpCapabilities250" /><Add
  Test="OSGeo.MapGuide.MaestroAPI.Tests.CapabilityTests.TestHttpCapabilities200" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.FeatureSchemaTests.RemoveClassTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.DataPropertyDefinitionTests.IsNumericTypeTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.SchemaTests.TestClassNameEncoding" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.CapabilityTests.TestHttpCapabilities110" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestSymbolDefinitionConversions" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.CapabilityTests.TestHttpCapabilities210" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.GeometricPropertyDefinitionTests.GetIndividualGeometricTypesTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ValidationTests.TestValidationResultSet" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ConfigurationDocumentTests.TestWmsLoad" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ConfigurationDocumentTests.TestWmsLoad3" /><
 Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.DataPropertyDefinitionTests.DataPropertyDefinitionTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestMapDefinitionGroupRemove" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.CapabilityTests.TestHttpCapabilities260" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.GeometricPropertyDefinitionTests.SpecificGeometryTypesTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ConfigurationDocumentTests.TestMySqlSchema" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.SchemaTests.TestFeatureSchemaRoundtrip" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.CapabilityTests.TestHttpCapabilities100" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestMapDefinitionGroupAdd" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.CapabilityTests.TestHttpCapabilities230" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ConfigurationDocumentTests.TestWmsLoad2" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestLoadProcedureCon
 versions" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestLayerDefinitionConversions" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.FeatureSchemaTests.GetItemTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ValidationTests.TestCase1896" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestMapDefinitionLayerAdd" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.SchemaTests.ClearIdentityPropertiesTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.FeatureReaderTests.TestXmlFeatureNullValues" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestMapDefinitionLayerReordering" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.SchemaTests.IndexOfPropertyTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.SchemaTests.CloneTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.MiscTests.TestParseXyzmWkt" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.MiscTests.TestConnectionString" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.Featu
 reSchemaTests.FeatureSchemaTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestMapDefinitionLayerInsert" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.RegisterLayerFactoryMethodTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateMapDefinitionTestWithNameAndCoordSys" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateWatermarkTest" /><Add Test="OSGeo.MapGuide.ObjectModel.Tests.FeatureSourceTests.TestFeatureSourceFileParameters" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateSimplePointTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateCalculatedPropertyTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreatePoint3DTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.RegisterCompoundSymbolFactoryMethodTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateSymbolLibraryTest" /><Add
  Test="OSGeo.MapGuide.ObjectModel.Tests.ResourceTests.TestResourceTypeDescriptor" /><Add Test="OSGeo.MapGuide.ObjectModel.Tests.ResourceTests.TestValidResourceIdentifiers" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateMetadataTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.RegisterSimpleSymbolFactoryMethodTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.RegisterWatermarkDefinitionFactoryMethodTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateSecurityUserTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateSimpleSymbolTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateAttributeRelationTest" /><Add Test="OSGeo.MapGuide.ObjectModel.Tests.DrawingSourceTests.DrawingSourceDeserializationWithFullContentModel" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateFeatureSourceExtensionTest" /><Add Test="OSGeo.MapGu
 ide.ObjectModels.Tests.ObjectFactoryTests.CreateLoadProcedureTest" /><Add Test="OSGeo.MapGuide.ObjectModel.Tests.ResourceTests.TestCloning" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.RegisterWebLayoutFactoryMethodTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateFeatureSourceTest" /><Add Test="OSGeo.MapGuide.ObjectModel.Tests.ApplicationDefinitionTests.ApplicationDefinitionDeserializationWithFullContentModel" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreatePrintLayoutTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateMapDefinitionTestWithNameAndCoordSysAndExtent" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreatePoint2DTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.RegisterResourceTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateSecurityGroupTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.Object
 FactoryTests.CreateSimpleLabelTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateFeatureSourceTestWithParameters" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateSimpleSolidLineTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateLoadProcedureTestWithFileNames" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateEnvelopeTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateDefaultLayerTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateCompoundSymbolTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateSimpleSolidFillTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.RegisterResourceSerializerTest" /><Add Test="OSGeo.MapGuide.ObjectModel.Tests.FeatureSourceTests.FeatureSourceDeserializationWithFullContentModel" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.RegisterMap
 DefinitionFactoryMethodTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.RegisterLoadProcedureFactoryMethodTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateDrawingSourceTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateMapDefinitionTestWithName" /><Add Test="OSGeo.MapGuide.MaestroAPI.CrossConnection.Tests.ResourceMigratorTests.ResourceMigratorTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.CrossConnection.Tests.ResourceMigratorTests.MoveResourcesWithOverwriteTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.CrossConnection.Tests.ResourceMigratorTests.CopyResourcesWithOverwriteTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.CrossConnection.Tests.ResourceMigratorTests.CopyResourcesWithoutOverwriteTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.CrossConnection.Tests.ResourceMigratorTests.MoveResourcesWithoutOverwriteTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.CrossConnection.Tests.ResourceRebaserTests.RebaseTest"
  /><Add Test="OSGeo.MapGuide.MaestroAPI.CrossConnection.Tests.ResourceRebaserTests.ResourceRebaserTest" /></Playlist>
\ No newline at end of file
+<Playlist Version="1.0"><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.GeometricPropertyDefinitionTests.GeometricPropertyDefinitionTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.FeatureSchemaTests.IndexOfTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestWebLayoutConversions" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ValidationTests.TestUniqueIssues" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.SchemaTests.FindPropertyTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.CapabilityTests.TestHttpCapabilities240" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.FeatureSchemaTests.WriteXmlTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.MiscTests.TestParse3dWkt" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.CapabilityTests.TestHttpCapabilities220" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ValidationTests.TestLayerScaleRangeOverlap" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestMapDefinitionConversions" /><Add Test="
 OSGeo.MapGuide.MaestroAPI.Tests.ValidationTests.TestLoadProcedureValidation" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ConfigurationDocumentTests.TestOdbcLoad" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.GeometricPropertyDefinitionTests.GeometryTypesToStringTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.FeatureSchemaTests.AddClassTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestWebLayout" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ConfigurationDocumentTests.TestOdbcSaveLoad" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.FeatureReaderTests.TestXmlFeatureJoinValues" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.CapabilityTests.TestHttpCapabilities120" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.FeatureReaderTests.TestXmlAggregateNullValues" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.SchemaTests.GetOrdinalTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.MiscTests.TestArgParser" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.T
 ests.FeatureSchemaTests.CloneTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestMapDefinitionNestedGroupDelete" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.SchemaTests.RemovePropertyTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestMapDefinitionLayerRemove" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.SchemaTests.TestCreate" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestMapDefinitionGroupReordering" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ConfigurationDocumentTests.TestWmsSaveLoad" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ConfigurationDocumentTests.TestOdbcLoad2" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.SchemaTests.RemovePropertyAtTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.FeatureSchemaTests.GetClassTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.SchemaTests.ClassDefinitionTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.CapabilityTests.TestHttpCapabilities250" /><Add
  Test="OSGeo.MapGuide.MaestroAPI.Tests.CapabilityTests.TestHttpCapabilities200" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.FeatureSchemaTests.RemoveClassTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.DataPropertyDefinitionTests.IsNumericTypeTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.SchemaTests.TestClassNameEncoding" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.CapabilityTests.TestHttpCapabilities110" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestSymbolDefinitionConversions" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.CapabilityTests.TestHttpCapabilities210" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.GeometricPropertyDefinitionTests.GetIndividualGeometricTypesTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ValidationTests.TestValidationResultSet" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ConfigurationDocumentTests.TestWmsLoad" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ConfigurationDocumentTests.TestWmsLoad3" /><
 Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.DataPropertyDefinitionTests.DataPropertyDefinitionTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestMapDefinitionGroupRemove" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.CapabilityTests.TestHttpCapabilities260" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.GeometricPropertyDefinitionTests.SpecificGeometryTypesTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ConfigurationDocumentTests.TestMySqlSchema" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.SchemaTests.TestFeatureSchemaRoundtrip" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.CapabilityTests.TestHttpCapabilities100" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestMapDefinitionGroupAdd" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.CapabilityTests.TestHttpCapabilities230" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ConfigurationDocumentTests.TestWmsLoad2" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestLoadProcedureCon
 versions" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestLayerDefinitionConversions" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.FeatureSchemaTests.GetItemTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ValidationTests.TestCase1896" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestMapDefinitionLayerAdd" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.SchemaTests.ClearIdentityPropertiesTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.FeatureReaderTests.TestXmlFeatureNullValues" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestMapDefinitionLayerReordering" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.SchemaTests.IndexOfPropertyTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.SchemaTests.CloneTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.MiscTests.TestParseXyzmWkt" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.MiscTests.TestConnectionString" /><Add Test="OSGeo.MapGuide.MaestroAPI.Schema.Tests.Featu
 reSchemaTests.FeatureSchemaTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Tests.ResourceTests.TestMapDefinitionLayerInsert" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.RegisterLayerFactoryMethodTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateMapDefinitionTestWithNameAndCoordSys" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateWatermarkTest" /><Add Test="OSGeo.MapGuide.ObjectModel.Tests.FeatureSourceTests.TestFeatureSourceFileParameters" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateSimplePointTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateCalculatedPropertyTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreatePoint3DTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.RegisterCompoundSymbolFactoryMethodTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateSymbolLibraryTest" /><Add
  Test="OSGeo.MapGuide.ObjectModel.Tests.ResourceTests.TestResourceTypeDescriptor" /><Add Test="OSGeo.MapGuide.ObjectModel.Tests.ResourceTests.TestValidResourceIdentifiers" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateMetadataTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.RegisterSimpleSymbolFactoryMethodTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.RegisterWatermarkDefinitionFactoryMethodTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateSecurityUserTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateSimpleSymbolTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateAttributeRelationTest" /><Add Test="OSGeo.MapGuide.ObjectModel.Tests.DrawingSourceTests.DrawingSourceDeserializationWithFullContentModel" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateFeatureSourceExtensionTest" /><Add Test="OSGeo.MapGu
 ide.ObjectModels.Tests.ObjectFactoryTests.CreateLoadProcedureTest" /><Add Test="OSGeo.MapGuide.ObjectModel.Tests.ResourceTests.TestCloning" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.RegisterWebLayoutFactoryMethodTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateFeatureSourceTest" /><Add Test="OSGeo.MapGuide.ObjectModel.Tests.ApplicationDefinitionTests.ApplicationDefinitionDeserializationWithFullContentModel" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreatePrintLayoutTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateMapDefinitionTestWithNameAndCoordSysAndExtent" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreatePoint2DTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.RegisterResourceTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateSecurityGroupTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.Object
 FactoryTests.CreateSimpleLabelTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateFeatureSourceTestWithParameters" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateSimpleSolidLineTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateLoadProcedureTestWithFileNames" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateEnvelopeTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateDefaultLayerTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateCompoundSymbolTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateSimpleSolidFillTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.RegisterResourceSerializerTest" /><Add Test="OSGeo.MapGuide.ObjectModel.Tests.FeatureSourceTests.FeatureSourceDeserializationWithFullContentModel" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.RegisterMap
 DefinitionFactoryMethodTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.RegisterLoadProcedureFactoryMethodTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateDrawingSourceTest" /><Add Test="OSGeo.MapGuide.ObjectModels.Tests.ObjectFactoryTests.CreateMapDefinitionTestWithName" /><Add Test="OSGeo.MapGuide.MaestroAPI.CrossConnection.Tests.ResourceMigratorTests.ResourceMigratorTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.CrossConnection.Tests.ResourceMigratorTests.MoveResourcesWithOverwriteTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.CrossConnection.Tests.ResourceMigratorTests.CopyResourcesWithOverwriteTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.CrossConnection.Tests.ResourceMigratorTests.CopyResourcesWithoutOverwriteTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.CrossConnection.Tests.ResourceMigratorTests.MoveResourcesWithoutOverwriteTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.CrossConnection.Tests.ResourceRebaserTests.RebaseTest"
  /><Add Test="OSGeo.MapGuide.MaestroAPI.CrossConnection.Tests.ResourceRebaserTests.ResourceRebaserTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Mapping.Tests.RuntimeMapTests.UnsupportedConnectionTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Mapping.Tests.RuntimeMapTests.GetLayerByNameTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Mapping.Tests.RuntimeMapTests.RemoveLayerAtTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Mapping.Tests.RuntimeMapTests.UpdateMapDefinitionTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Mapping.Tests.RuntimeMapTests.IndexOfLayerTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Mapping.Tests.RuntimeMapTests.RemoveGroupTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Mapping.Tests.RuntimeMapTests.SetViewCenterTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Mapping.Tests.RuntimeMapTests.GetGroupByNameTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Mapping.Tests.RuntimeMapTests.GetGroupsOfGroupTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Mapping.Tests.RuntimeMapTests.GetLayer
 sOfGroupTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Mapping.Tests.RuntimeMapTests.RemoveLayerTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Mapping.Tests.RuntimeMapTests.GetLayerByObjectIdTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Mapping.Tests.RuntimeMapTests.InsertLayerTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Mapping.Tests.RuntimeMapTests.ToMapDefinitionTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Mapping.Tests.RuntimeMapTests.GetFiniteDisplayScaleAtTest" /><Add Test="OSGeo.MapGuide.MaestroAPI.Mapping.Tests.RuntimeMapTests.SetLayerIndexTest" /></Playlist>
\ No newline at end of file



More information about the mapguide-commits mailing list