[mapguide-commits] r8383 - in trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test: . mapguide platform

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Mon Oct 6 02:02:45 PDT 2014


Author: jng
Date: 2014-10-06 02:02:45 -0700 (Mon, 06 Oct 2014)
New Revision: 8383

Added:
   trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/mapguide/
   trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/mapguide/ReadOnlyLayerCollectionTest.java
   trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/platform/LayerCollectionTest.java
   trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/platform/LayerGroupCollectionTest.java
Modified:
   trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/CommonTests.java
   trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/MapGuideTests.java
   trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/Program.java
Log:
#2307: Add tests for MgLayerCollection/MgLayerGroupCollection/MgReadOnlyLayerCollection. Also load the Sheboygan dataset before executing tests.

Modified: trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/CommonTests.java
===================================================================
--- trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/CommonTests.java	2014-10-04 13:57:16 UTC (rev 8382)
+++ trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/CommonTests.java	2014-10-06 09:02:45 UTC (rev 8383)
@@ -26,6 +26,8 @@
         tests.add(new FeatureSchemaCollectionTest());
         tests.add(new GeometryCollectionTest());
         tests.add(new IntCollectionTest());
+        tests.add(new LayerCollectionTest());
+        tests.add(new LayerGroupCollectionTest());
         tests.add(new LinearRingCollectionTest());
         tests.add(new LineStringCollectionTest());
         tests.add(new MapCollectionTest());

Modified: trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/MapGuideTests.java
===================================================================
--- trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/MapGuideTests.java	2014-10-04 13:57:16 UTC (rev 8382)
+++ trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/MapGuideTests.java	2014-10-06 09:02:45 UTC (rev 8383)
@@ -2,13 +2,20 @@
 
 import java.util.*;
 
+import org.osgeo.mapguide.*;
 import org.osgeo.mapguide.test.common.*;
+import org.osgeo.mapguide.test.mapguide.*;
 
 public class MapGuideTests
 {
     public static int Execute(IPlatformFactory factory, ITestLogger logger, MutableInteger testsRun) {
         int failures = 0;
         Vector<IExternalTest> tests = new Vector<IExternalTest>();
+        
+        //--------------- BEGIN Test Registration -----------------//
+        tests.add(new ReadOnlyLayerCollectionTest());
+        //--------------- END Test Registration -------------------//
+
         for (IExternalTest test : tests)
         {
             try

Modified: trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/Program.java
===================================================================
--- trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/Program.java	2014-10-04 13:57:16 UTC (rev 8382)
+++ trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/Program.java	2014-10-06 09:02:45 UTC (rev 8383)
@@ -25,12 +25,20 @@
                 try (ITestLogger logger = new TestLoggerFile(logFile)) {
                     logger.WriteLine(String.format("Run started: %s", new Date().toString()));
                     MapGuideJavaApiEx.MgInitializeWebTier(webConfigPath);
-                    Console.WriteLine("MapGuide Initialized. Running tests");
 
                     userInfo = new MgUserInformation("Administrator", "admin");
                     siteConn = new MgSiteConnection();
                     siteConn.open(userInfo);
 
+                    //Load the Sheboygan sample data set required by some tests
+                    Console.WriteLine("Loading Sheboygan sample data package");
+                    MgByteSource bs = new MgByteSource("../../TestData/Samples/Sheboygan/Sheboygan.mgp");
+                    MgByteReader rdr = bs.getReader();
+                    MgResourceService resSvc = (MgResourceService)siteConn.createService(MgServiceType.ResourceService);
+                    resSvc.applyResourcePackage(rdr);
+
+                    Console.WriteLine("MapGuide Initialized. Running tests");
+
                     IPlatformFactory factory = new PlatformFactory(siteConn);
 
                     MutableInteger testsRun = new MutableInteger(0);

Added: trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/mapguide/ReadOnlyLayerCollectionTest.java
===================================================================
--- trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/mapguide/ReadOnlyLayerCollectionTest.java	                        (rev 0)
+++ trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/mapguide/ReadOnlyLayerCollectionTest.java	2014-10-06 09:02:45 UTC (rev 8383)
@@ -0,0 +1,78 @@
+package org.osgeo.mapguide.test.mapguide;
+
+import java.io.*;
+import java.util.*;
+import org.osgeo.mapguide.*;
+import org.osgeo.mapguide.test.common.*;
+
+public class ReadOnlyLayerCollectionTest implements IExternalTest
+{
+    public void Execute(IPlatformFactory factory, ITestLogger logger)
+    {
+        MgFeatureQueryOptions query1 = new MgFeatureQueryOptions();
+        query1.setFilter("Autogenerated_SDF_ID < 4");
+
+        MgFeatureQueryOptions query2 = new MgFeatureQueryOptions();
+        query2.setFilter("Autogenerated_SDF_ID < 4");
+
+        MgMap map = (MgMap)factory.createMap();
+        MgResourceService resSvc = (MgResourceService)factory.createService(MgServiceType.ResourceService);
+        MgResourceIdentifier mdfId = new MgResourceIdentifier("Library://Samples/Sheboygan/Maps/Sheboygan.MapDefinition");
+        map.create(mdfId, "Test");
+        map.save();
+
+        MgLayerCollection layers = map.getLayers();
+        MgLayerBase item1 = layers.getItem("Parcels");
+        MgLayerBase item2 = layers.getItem("Buildings");
+
+        MgFeatureReader fr1 = item1.selectFeatures(query1);
+        MgFeatureReader fr2 = item2.selectFeatures(query2);
+
+        MgSelection sel = new MgSelection(map);
+        try {
+            sel.fromXml(""); //Clear
+            sel.addFeatures(item1, fr1, 0);
+            sel.addFeatures(item2, fr2, 0);
+        } finally{
+            fr1.close();
+            fr2.close();
+        }
+
+        //Now we can test the collection
+        MgReadOnlyLayerCollection items = sel.getLayers();
+
+        Assert.IsTrue(items.getCount() == 2, "Expected 2 items");
+
+        //NOTE: Possible bug in ordering of MgReadOnlyLayerCollection here (I had to reverse the order of layers
+        //being tested) Nevertheless, were testing that the ordering (whether correct or not) is the same when iterated
+        //in both the classical and iterative methods
+
+        int i = 0;
+        //Looping the classic way
+        for (i = 0; i < items.getCount(); i++) {
+            switch (i){
+                case 0:
+                    Assert.IsTrue(items.getItem(i).getName().equals("Buildings"), "Expected item #" + (i+1) + " to be Buildings");
+                    break;
+                case 1:
+                    Assert.IsTrue(items.getItem(i).getName().equals("Parcels"), "Expected item #" + (i+1) + " to be Parcels");
+                    break;
+            }
+        }
+
+        //Looping the iterative way
+        i = 0;
+        for (MgLayerBase item : items) {
+            String itemName = item.getName();
+            switch (i){
+                case 0:
+                    Assert.IsTrue(itemName.equals("Buildings"), "Expected item #" + (i+1) + " to be Buildings");
+                    break;
+                case 1:
+                    Assert.IsTrue(itemName.equals("Parcels"), "Expected item #" + (i+1) + " to be Parcels");
+                    break;
+            }
+            i++;
+        }
+    }
+}
\ No newline at end of file

Added: trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/platform/LayerCollectionTest.java
===================================================================
--- trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/platform/LayerCollectionTest.java	                        (rev 0)
+++ trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/platform/LayerCollectionTest.java	2014-10-06 09:02:45 UTC (rev 8383)
@@ -0,0 +1,162 @@
+package org.osgeo.mapguide.test.platform;
+
+import java.io.*;
+import java.util.*;
+import org.osgeo.mapguide.*;
+import org.osgeo.mapguide.test.common.*;
+
+public class LayerCollectionTest implements IExternalTest
+{
+    public void Execute(IPlatformFactory factory, ITestLogger logger)
+    {
+        MgMapBase map = factory.createMap();
+        String coordsys = "GEOGCS[\"LL84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Lat\",NORTH],AXIS[\"Long\",EAST],AUTHORITY[\"EPSG\",\"4326\"]]";
+        MgEnvelope env = new MgEnvelope(10, 10, 20, 20);
+        map.create(coordsys, env, "Test");
+
+        MgResourceService resSvc = (MgResourceService)factory.createService(MgServiceType.ResourceService);
+        MgLayerCollection items = map.getLayers();
+        items.clear();
+        MgResourceIdentifier ldfId = new MgResourceIdentifier("Library://Samples/Sheboygan/Layers/Parcels.LayerDefinition");
+        MgLayerBase item1 = new MgLayer(ldfId, resSvc);
+        item1.setName("Item1");
+        MgLayerBase item2 = new MgLayer(ldfId, resSvc);
+        item2.setName("Item2");
+        MgLayerBase item3 = new MgLayer(ldfId, resSvc);
+        item3.setName("Item3");
+        MgLayerBase item4 = new MgLayer(ldfId, resSvc);
+        item4.setName("Item4");
+
+        //Items inserted the MapGuide API way
+        items.addItem(item1);
+        items.addItem(item2);
+        items.addItem(item3);
+
+        Assert.IsTrue(items.getCount() == 3, "Expected 3 items");
+        Assert.IsTrue(!items.isEmpty(), "Expected non-empty item collection");
+
+        int i = 0;
+        //Looping the classic way
+        for (i = 0; i < items.getCount(); i++) {
+            switch (i){
+                case 0:
+                    Assert.IsTrue(items.getItem(i).getName().equals("Item1"), "Expected item #" + (i+1) + " to be Item1");
+                    break;
+                case 1:
+                    Assert.IsTrue(items.getItem(i).getName().equals("Item2"), "Expected item #" + (i+1) + " to be Item2");
+                    break;
+                case 2:
+                    Assert.IsTrue(items.getItem(i).getName().equals("Item3"), "Expected item #" + (i+1) + " to be Item3");
+                    break;
+            }
+        }
+
+        //Looping the iterative way
+        i = 0;
+        for (MgLayerBase item : items) {
+            String itemName = item.getName();
+            switch (i){
+                case 0:
+                    Assert.IsTrue(itemName.equals("Item1"), "Expected item #" + (i+1) + " to be Item1");
+                    break;
+                case 1:
+                    Assert.IsTrue(itemName.equals("Item2"), "Expected item #" + (i+1) + " to be Item2");
+                    break;
+                case 2:
+                    Assert.IsTrue(itemName.equals("Item3"), "Expected item #" + (i+1) + " to be Item3");
+                    break;
+            }
+            i++;
+        }
+
+        items.clear();
+        Assert.IsTrue(items.getCount() == 0, "Expected empty item collection");
+        Assert.IsTrue(items.isEmpty(), "Expected empty item collection");
+
+        //Now test through java.util.Collection facade
+        Collection<MgLayerBase> facade = items;
+        //add()
+        Assert.IsTrue(facade.add(item1), "Could not add item1 the java.util.Collection way");
+        Assert.IsTrue(facade.add(item2), "Could not add item2 the java.util.Collection way");
+        Assert.IsTrue(facade.add(item3), "Could not add item3 the java.util.Collection way");
+
+        Assert.IsTrue(facade.size() == 3, "Expected 3 items");
+        Assert.IsTrue(!facade.isEmpty(), "Expected non-empty item collection");
+
+        //contains()
+        Assert.IsTrue(facade.contains(item1), "item1 should exist");
+        Assert.IsTrue(facade.contains(item2), "item2 should exist");
+        Assert.IsTrue(facade.contains(item3), "item3 should exist");
+
+        ArrayList<MgLayerBase> testCollection = new ArrayList<MgLayerBase>();
+        testCollection.add(item1);
+        testCollection.add(item2);
+        testCollection.add(item3);
+
+        //containsAll()
+        Assert.IsTrue(facade.containsAll(testCollection), "All items in test collection should match");
+        testCollection.clear();
+        testCollection.add(item1);
+        testCollection.add(item4);
+        Assert.IsTrue(!facade.containsAll(testCollection), "Should not have matched test collection");
+
+        facade.clear();
+        Assert.IsTrue(facade.size() == 0, "Expected 0 items");
+        Assert.IsTrue(facade.isEmpty(), "Expected empty item collection");
+
+        //addAll()
+        testCollection.clear();
+        testCollection.add(item1);
+        testCollection.add(item2);
+        testCollection.add(item3);
+        Assert.IsTrue(facade.addAll(testCollection), "Expected addAll() success");
+        Assert.IsTrue(facade.size() == 3, "Expected 3 items");
+        Assert.IsTrue(!facade.isEmpty(), "Expected non-empty item collection");
+
+        //remove()
+        Assert.IsTrue(!facade.remove(item4), "Expected remove() of non-existent item to return false");
+        Assert.IsTrue(!facade.remove(new MgFeatureSchema()), "Expected remove() of different type to return false");
+        Assert.IsTrue(facade.remove(item2), "Expected remove() of item2 to return true");
+
+        //removeAll()
+        testCollection.remove(item2);
+        Assert.IsTrue(facade.removeAll(testCollection), "Expected removeAll() to succeed");
+
+        //retainAll()
+        Assert.IsTrue(facade.add(item1), "Could not add item1 the java.util.Collection way");
+        Assert.IsTrue(facade.add(item2), "Could not add item2 the java.util.Collection way");
+        Assert.IsTrue(facade.add(item3), "Could not add item3 the java.util.Collection way");
+        Assert.IsTrue(facade.size() == 3, "Expected 3 schemas");
+        Assert.IsTrue(!facade.isEmpty(), "Expected non-empty schema collection");
+
+        testCollection.clear();
+        testCollection.add(item1);
+        testCollection.add(item3);
+        Assert.IsTrue(facade.retainAll(testCollection), "Expected retainAll() to succeed");
+        Assert.IsTrue(facade.contains(item1), "Expected item1 to exist");
+        Assert.IsTrue(!facade.contains(item2), "Expected item2 to not exist");
+        Assert.IsTrue(facade.contains(item3), "Expected item3 to exist");
+
+        //toArray()
+        Object[] itemArray = facade.toArray();
+        Assert.IsTrue(itemArray != null, "Expected non-null item array");
+        Assert.IsTrue(itemArray.length == 2, "Expected 2 item array");
+        for (Object o : itemArray) {
+            Assert.IsTrue(o instanceof MgLayerBase, "Expected item to be MgLayerBase");
+        }
+        MgLayerBase[] fitems = facade.toArray(new MgLayerBase[0]);
+        Assert.IsTrue(fitems != null, "Expected non-null item array");
+        Assert.IsTrue(fitems.length == 2, "Expected 2 item array");
+
+        fitems = facade.toArray(new MgLayerBase[1]);
+        Assert.IsTrue(fitems != null, "Expected non-null item array");
+        Assert.IsTrue(fitems.length == 2, "Expected 2 item array");
+
+        fitems = facade.toArray(new MgLayerBase[3]);
+        Assert.IsTrue(fitems != null, "Expected non-null item array");
+        Assert.IsTrue(fitems.length == 3, "Expected 3 item array");
+        Assert.IsTrue(fitems[0] != null, "Expected non-null item #1");
+        Assert.IsTrue(fitems[1] != null, "Expected non-null item #2");
+        Assert.IsTrue(fitems[2] == null, "Expected null item #3");
+    }
+}
\ No newline at end of file

Added: trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/platform/LayerGroupCollectionTest.java
===================================================================
--- trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/platform/LayerGroupCollectionTest.java	                        (rev 0)
+++ trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/platform/LayerGroupCollectionTest.java	2014-10-06 09:02:45 UTC (rev 8383)
@@ -0,0 +1,157 @@
+package org.osgeo.mapguide.test.platform;
+
+import java.io.*;
+import java.util.*;
+import org.osgeo.mapguide.*;
+import org.osgeo.mapguide.test.common.*;
+
+public class LayerGroupCollectionTest implements IExternalTest
+{
+    public void Execute(IPlatformFactory factory, ITestLogger logger)
+    {
+        MgMapBase map = factory.createMap();
+        String coordsys = "GEOGCS[\"LL84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Lat\",NORTH],AXIS[\"Long\",EAST],AUTHORITY[\"EPSG\",\"4326\"]]";
+        MgEnvelope env = new MgEnvelope(10, 10, 20, 20);
+        map.create(coordsys, env, "Test");
+
+        MgLayerGroupCollection items = map.getLayerGroups();
+        items.clear();
+        MgResourceIdentifier ldfId = new MgResourceIdentifier("Library://Samples/Sheboygan/Layers/Parcels.LayerDefinition");
+        MgLayerGroup item1 = new MgLayerGroup("Item1");
+        MgLayerGroup item2 = new MgLayerGroup("Item2");
+        MgLayerGroup item3 = new MgLayerGroup("Item3");
+        MgLayerGroup item4 = new MgLayerGroup("Item4");
+
+        //Items inserted the MapGuide API way
+        items.addItem(item1);
+        items.addItem(item2);
+        items.addItem(item3);
+
+        Assert.IsTrue(items.getCount() == 3, "Expected 3 items");
+        Assert.IsTrue(!items.isEmpty(), "Expected non-empty item collection");
+
+        int i = 0;
+        //Looping the classic way
+        for (i = 0; i < items.getCount(); i++) {
+            switch (i){
+                case 0:
+                    Assert.IsTrue(items.getItem(i).getName().equals("Item1"), "Expected item #" + (i+1) + " to be Item1");
+                    break;
+                case 1:
+                    Assert.IsTrue(items.getItem(i).getName().equals("Item2"), "Expected item #" + (i+1) + " to be Item2");
+                    break;
+                case 2:
+                    Assert.IsTrue(items.getItem(i).getName().equals("Item3"), "Expected item #" + (i+1) + " to be Item3");
+                    break;
+            }
+        }
+
+        //Looping the iterative way
+        i = 0;
+        for (MgLayerGroup item : items) {
+            String itemName = item.getName();
+            switch (i){
+                case 0:
+                    Assert.IsTrue(itemName.equals("Item1"), "Expected item #" + (i+1) + " to be Item1");
+                    break;
+                case 1:
+                    Assert.IsTrue(itemName.equals("Item2"), "Expected item #" + (i+1) + " to be Item2");
+                    break;
+                case 2:
+                    Assert.IsTrue(itemName.equals("Item3"), "Expected item #" + (i+1) + " to be Item3");
+                    break;
+            }
+            i++;
+        }
+
+        items.clear();
+        Assert.IsTrue(items.getCount() == 0, "Expected empty item collection");
+        Assert.IsTrue(items.isEmpty(), "Expected empty item collection");
+
+        //Now test through java.util.Collection facade
+        Collection<MgLayerGroup> facade = items;
+        //add()
+        Assert.IsTrue(facade.add(item1), "Could not add item1 the java.util.Collection way");
+        Assert.IsTrue(facade.add(item2), "Could not add item2 the java.util.Collection way");
+        Assert.IsTrue(facade.add(item3), "Could not add item3 the java.util.Collection way");
+
+        Assert.IsTrue(facade.size() == 3, "Expected 3 items");
+        Assert.IsTrue(!facade.isEmpty(), "Expected non-empty item collection");
+
+        //contains()
+        Assert.IsTrue(facade.contains(item1), "item1 should exist");
+        Assert.IsTrue(facade.contains(item2), "item2 should exist");
+        Assert.IsTrue(facade.contains(item3), "item3 should exist");
+
+        ArrayList<MgLayerGroup> testCollection = new ArrayList<MgLayerGroup>();
+        testCollection.add(item1);
+        testCollection.add(item2);
+        testCollection.add(item3);
+
+        //containsAll()
+        Assert.IsTrue(facade.containsAll(testCollection), "All items in test collection should match");
+        testCollection.clear();
+        testCollection.add(item1);
+        testCollection.add(item4);
+        Assert.IsTrue(!facade.containsAll(testCollection), "Should not have matched test collection");
+
+        facade.clear();
+        Assert.IsTrue(facade.size() == 0, "Expected 0 items");
+        Assert.IsTrue(facade.isEmpty(), "Expected empty item collection");
+
+        //addAll()
+        testCollection.clear();
+        testCollection.add(item1);
+        testCollection.add(item2);
+        testCollection.add(item3);
+        Assert.IsTrue(facade.addAll(testCollection), "Expected addAll() success");
+        Assert.IsTrue(facade.size() == 3, "Expected 3 items");
+        Assert.IsTrue(!facade.isEmpty(), "Expected non-empty item collection");
+
+        //remove()
+        Assert.IsTrue(!facade.remove(item4), "Expected remove() of non-existent item to return false");
+        Assert.IsTrue(!facade.remove(new MgFeatureSchema()), "Expected remove() of different type to return false");
+        Assert.IsTrue(facade.remove(item2), "Expected remove() of item2 to return true");
+
+        //removeAll()
+        testCollection.remove(item2);
+        Assert.IsTrue(facade.removeAll(testCollection), "Expected removeAll() to succeed");
+
+        //retainAll()
+        Assert.IsTrue(facade.add(item1), "Could not add item1 the java.util.Collection way");
+        Assert.IsTrue(facade.add(item2), "Could not add item2 the java.util.Collection way");
+        Assert.IsTrue(facade.add(item3), "Could not add item3 the java.util.Collection way");
+        Assert.IsTrue(facade.size() == 3, "Expected 3 schemas");
+        Assert.IsTrue(!facade.isEmpty(), "Expected non-empty schema collection");
+
+        testCollection.clear();
+        testCollection.add(item1);
+        testCollection.add(item3);
+        Assert.IsTrue(facade.retainAll(testCollection), "Expected retainAll() to succeed");
+        Assert.IsTrue(facade.contains(item1), "Expected item1 to exist");
+        Assert.IsTrue(!facade.contains(item2), "Expected item2 to not exist");
+        Assert.IsTrue(facade.contains(item3), "Expected item3 to exist");
+
+        //toArray()
+        Object[] itemArray = facade.toArray();
+        Assert.IsTrue(itemArray != null, "Expected non-null item array");
+        Assert.IsTrue(itemArray.length == 2, "Expected 2 item array");
+        for (Object o : itemArray) {
+            Assert.IsTrue(o instanceof MgLayerGroup, "Expected item to be MgLayerBase");
+        }
+        MgLayerGroup[] fitems = facade.toArray(new MgLayerGroup[0]);
+        Assert.IsTrue(fitems != null, "Expected non-null item array");
+        Assert.IsTrue(fitems.length == 2, "Expected 2 item array");
+
+        fitems = facade.toArray(new MgLayerGroup[1]);
+        Assert.IsTrue(fitems != null, "Expected non-null item array");
+        Assert.IsTrue(fitems.length == 2, "Expected 2 item array");
+
+        fitems = facade.toArray(new MgLayerGroup[3]);
+        Assert.IsTrue(fitems != null, "Expected non-null item array");
+        Assert.IsTrue(fitems.length == 3, "Expected 3 item array");
+        Assert.IsTrue(fitems[0] != null, "Expected non-null item #1");
+        Assert.IsTrue(fitems[1] != null, "Expected non-null item #2");
+        Assert.IsTrue(fitems[2] == null, "Expected null item #3");
+    }
+}
\ No newline at end of file



More information about the mapguide-commits mailing list