[mapguide-commits] r8193 - in sandbox/jng/tiling: Server/src/PostBuild Server/src/UnitTesting UnitTest/TestData/TileService

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Tue Jun 10 01:16:58 PDT 2014


Author: jng
Date: 2014-06-10 01:16:58 -0700 (Tue, 10 Jun 2014)
New Revision: 8193

Added:
   sandbox/jng/tiling/UnitTest/TestData/TileService/UT_XYZ.tsd
Modified:
   sandbox/jng/tiling/Server/src/PostBuild/PostBuild.mak
   sandbox/jng/tiling/Server/src/UnitTesting/TestMdfModel.cpp
   sandbox/jng/tiling/Server/src/UnitTesting/TestMdfModel.h
   sandbox/jng/tiling/Server/src/UnitTesting/TestTileService.cpp
   sandbox/jng/tiling/Server/src/UnitTesting/TestTileService.h
Log:
Add unit tests to cover recent changes.

Modified: sandbox/jng/tiling/Server/src/PostBuild/PostBuild.mak
===================================================================
--- sandbox/jng/tiling/Server/src/PostBuild/PostBuild.mak	2014-06-10 07:39:31 UTC (rev 8192)
+++ sandbox/jng/tiling/Server/src/PostBuild/PostBuild.mak	2014-06-10 08:16:58 UTC (rev 8193)
@@ -165,6 +165,7 @@
         ..\..\bin\UnitTestFiles\TEST.sdf \
         ..\..\bin\UnitTestFiles\UT_BaseMap.mdf \
 		..\..\bin\UnitTestFiles\UT_BaseMap.tsd \
+		..\..\bin\UnitTestFiles\UT_XYZ.tsd \
 		..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf \
         ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf \
         ..\..\bin\UnitTestFiles\UT_Parcels.fs \
@@ -436,6 +437,7 @@
         ..\..\bin\UnitTestFiles\TEST.sdf \
         ..\..\bin\UnitTestFiles\UT_BaseMap.mdf \
 		..\..\bin\UnitTestFiles\UT_BaseMap.tsd \
+		..\..\bin\UnitTestFiles\UT_XYZ.tsd \
 		..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf \
         ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf \
         ..\..\bin\UnitTestFiles\UT_Parcels.fs \
@@ -707,6 +709,7 @@
           ..\..\bin\UnitTestFiles\TEST.sdf \
           ..\..\bin\UnitTestFiles\UT_BaseMap.mdf \
 		  ..\..\bin\UnitTestFiles\UT_BaseMap.tsd \
+		  ..\..\bin\UnitTestFiles\UT_XYZ.tsd \
 		  ..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf \
           ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf \
           ..\..\bin\UnitTestFiles\UT_Parcels.fs \
@@ -978,6 +981,7 @@
           ..\..\bin\UnitTestFiles\TEST.sdf \
           ..\..\bin\UnitTestFiles\UT_BaseMap.mdf \
 		  ..\..\bin\UnitTestFiles\UT_BaseMap.tsd \
+		  ..\..\bin\UnitTestFiles\UT_XYZ.tsd \
 		  ..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf \
           ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf \
           ..\..\bin\UnitTestFiles\UT_Parcels.fs \
@@ -1122,6 +1126,7 @@
     if EXIST ..\..\bin\UnitTestFiles\TEST.sdf                       del /F ..\..\bin\UnitTestFiles\TEST.sdf
     if EXIST ..\..\bin\UnitTestFiles\UT_BaseMap.mdf                 del /F ..\..\bin\UnitTestFiles\UT_BaseMap.mdf
 	if EXIST ..\..\bin\UnitTestFiles\UT_BaseMap.tsd                 del /F ..\..\bin\UnitTestFiles\UT_BaseMap.tsd
+	if EXIST ..\..\bin\UnitTestFiles\UT_XYZ.tsd						del /F ..\..\bin\UnitTestFiles\UT_XYZ.tsd
 	if EXIST ..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf           del /F ..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf
     if EXIST ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf        del /F ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf
     if EXIST ..\..\bin\UnitTestFiles\UT_Parcels.fs                  del /F ..\..\bin\UnitTestFiles\UT_Parcels.fs
@@ -1261,6 +1266,7 @@
     if EXIST ..\..\bin\UnitTestFiles\TEST.sdf                       del /F ..\..\bin\UnitTestFiles\TEST.sdf
     if EXIST ..\..\bin\UnitTestFiles\UT_BaseMap.mdf                 del /F ..\..\bin\UnitTestFiles\UT_BaseMap.mdf
 	if EXIST ..\..\bin\UnitTestFiles\UT_BaseMap.tsd                 del /F ..\..\bin\UnitTestFiles\UT_BaseMap.tsd
+	if EXIST ..\..\bin\UnitTestFiles\UT_XYZ.tsd						del /F ..\..\bin\UnitTestFiles\UT_XYZ.tsd
 	if EXIST ..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf           del /F ..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf
     if EXIST ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf        del /F ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf
     if EXIST ..\..\bin\UnitTestFiles\UT_Parcels.fs                  del /F ..\..\bin\UnitTestFiles\UT_Parcels.fs
@@ -1400,6 +1406,7 @@
     if EXIST ..\..\bin\UnitTestFiles\TEST.sdf                       del /F ..\..\bin\UnitTestFiles\TEST.sdf
     if EXIST ..\..\bin\UnitTestFiles\UT_BaseMap.mdf                 del /F ..\..\bin\UnitTestFiles\UT_BaseMap.mdf
 	if EXIST ..\..\bin\UnitTestFiles\UT_BaseMap.tsd                 del /F ..\..\bin\UnitTestFiles\UT_BaseMap.tsd
+	if EXIST ..\..\bin\UnitTestFiles\UT_XYZ.tsd						del /F ..\..\bin\UnitTestFiles\UT_XYZ.tsd
 	if EXIST ..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf           del /F ..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf
     if EXIST ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf        del /F ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf
     if EXIST ..\..\bin\UnitTestFiles\UT_Parcels.fs                  del /F ..\..\bin\UnitTestFiles\UT_Parcels.fs
@@ -1537,6 +1544,7 @@
     if EXIST ..\..\bin\UnitTestFiles\TEST.sdf                       del /F ..\..\bin\UnitTestFiles\TEST.sdf
     if EXIST ..\..\bin\UnitTestFiles\UT_BaseMap.mdf                 del /F ..\..\bin\UnitTestFiles\UT_BaseMap.mdf
 	if EXIST ..\..\bin\UnitTestFiles\UT_BaseMap.tsd                 del /F ..\..\bin\UnitTestFiles\UT_BaseMap.tsd
+	if EXIST ..\..\bin\UnitTestFiles\UT_XYZ.tsd						del /F ..\..\bin\UnitTestFiles\UT_XYZ.tsd
 	if EXIST ..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf           del /F ..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf
     if EXIST ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf        del /F ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf
     if EXIST ..\..\bin\UnitTestFiles\UT_Parcels.fs                  del /F ..\..\bin\UnitTestFiles\UT_Parcels.fs
@@ -1801,6 +1809,7 @@
         ..\..\bin\UnitTestFiles\TEST.sdf \
         ..\..\bin\UnitTestFiles\UT_BaseMap.mdf \
 		..\..\bin\UnitTestFiles\UT_BaseMap.tsd \
+		..\..\bin\UnitTestFiles\UT_XYZ.tsd \
 		..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf \
         ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf \
         ..\..\bin\UnitTestFiles\UT_Parcels.fs \
@@ -2065,6 +2074,7 @@
         ..\..\bin\UnitTestFiles\TEST.sdf \
         ..\..\bin\UnitTestFiles\UT_BaseMap.mdf \
 		..\..\bin\UnitTestFiles\UT_BaseMap.tsd \
+		..\..\bin\UnitTestFiles\UT_XYZ.tsd \
 		..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf \
         ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf \
         ..\..\bin\UnitTestFiles\UT_Parcels.fs \
@@ -2329,6 +2339,7 @@
           ..\..\bin\UnitTestFiles\TEST.sdf \
           ..\..\bin\UnitTestFiles\UT_BaseMap.mdf \
 		  ..\..\bin\UnitTestFiles\UT_BaseMap.tsd \
+		  ..\..\bin\UnitTestFiles\UT_XYZ.tsd \
 		  ..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf \
           ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf \
           ..\..\bin\UnitTestFiles\UT_Parcels.fs \
@@ -2593,6 +2604,7 @@
           ..\..\bin\UnitTestFiles\TEST.sdf \
           ..\..\bin\UnitTestFiles\UT_BaseMap.mdf \
 		  ..\..\bin\UnitTestFiles\UT_BaseMap.tsd \
+		  ..\..\bin\UnitTestFiles\UT_XYZ.tsd \
 		  ..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf \
           ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf \
           ..\..\bin\UnitTestFiles\UT_Parcels.fs \
@@ -2730,6 +2742,7 @@
     if EXIST ..\..\bin\UnitTestFiles\TEST.sdf                       del /F ..\..\bin\UnitTestFiles\TEST.sdf
     if EXIST ..\..\bin\UnitTestFiles\UT_BaseMap.mdf                 del /F ..\..\bin\UnitTestFiles\UT_BaseMap.mdf
 	if EXIST ..\..\bin\UnitTestFiles\UT_BaseMap.tsd                 del /F ..\..\bin\UnitTestFiles\UT_BaseMap.tsd
+	if EXIST ..\..\bin\UnitTestFiles\UT_XYZ.tsd						del /F ..\..\bin\UnitTestFiles\UT_XYZ.tsd
 	if EXIST ..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf           del /F ..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf
     if EXIST ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf        del /F ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf
     if EXIST ..\..\bin\UnitTestFiles\UT_Parcels.fs                  del /F ..\..\bin\UnitTestFiles\UT_Parcels.fs
@@ -2862,6 +2875,7 @@
     if EXIST ..\..\bin\UnitTestFiles\TEST.sdf                       del /F ..\..\bin\UnitTestFiles\TEST.sdf
     if EXIST ..\..\bin\UnitTestFiles\UT_BaseMap.mdf                 del /F ..\..\bin\UnitTestFiles\UT_BaseMap.mdf
 	if EXIST ..\..\bin\UnitTestFiles\UT_BaseMap.tsd                 del /F ..\..\bin\UnitTestFiles\UT_BaseMap.tsd
+	if EXIST ..\..\bin\UnitTestFiles\UT_XYZ.tsd						del /F ..\..\bin\UnitTestFiles\UT_XYZ.tsd
 	if EXIST ..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf           del /F ..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf
     if EXIST ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf        del /F ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf
     if EXIST ..\..\bin\UnitTestFiles\UT_Parcels.fs                  del /F ..\..\bin\UnitTestFiles\UT_Parcels.fs
@@ -2994,6 +3008,7 @@
     if EXIST ..\..\bin\UnitTestFiles\TEST.sdf                       del /F ..\..\bin\UnitTestFiles\TEST.sdf
     if EXIST ..\..\bin\UnitTestFiles\UT_BaseMap.mdf                 del /F ..\..\bin\UnitTestFiles\UT_BaseMap.mdf
 	if EXIST ..\..\bin\UnitTestFiles\UT_BaseMap.tsd                 del /F ..\..\bin\UnitTestFiles\UT_BaseMap.tsd
+	if EXIST ..\..\bin\UnitTestFiles\UT_XYZ.tsd						del /F ..\..\bin\UnitTestFiles\UT_XYZ.tsd
 	if EXIST ..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf           del /F ..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf
     if EXIST ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf        del /F ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf
     if EXIST ..\..\bin\UnitTestFiles\UT_Parcels.fs                  del /F ..\..\bin\UnitTestFiles\UT_Parcels.fs
@@ -3124,6 +3139,7 @@
     if EXIST ..\..\bin\UnitTestFiles\TEST.sdf                       del /F ..\..\bin\UnitTestFiles\TEST.sdf
     if EXIST ..\..\bin\UnitTestFiles\UT_BaseMap.mdf                 del /F ..\..\bin\UnitTestFiles\UT_BaseMap.mdf
 	if EXIST ..\..\bin\UnitTestFiles\UT_BaseMap.tsd                 del /F ..\..\bin\UnitTestFiles\UT_BaseMap.tsd
+	if EXIST ..\..\bin\UnitTestFiles\UT_XYZ.tsd						del /F ..\..\bin\UnitTestFiles\UT_XYZ.tsd
 	if EXIST ..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf           del /F ..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf
     if EXIST ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf        del /F ..\..\bin\UnitTestFiles\UT_StylizationFuncs.mdf
     if EXIST ..\..\bin\UnitTestFiles\UT_Parcels.fs                  del /F ..\..\bin\UnitTestFiles\UT_Parcels.fs
@@ -3261,6 +3277,7 @@
 "..\..\..\UnitTest\TestData\MappingService\UT_RotatedPointStyles.ldf" :
 "..\..\..\UnitTest\TestData\TileService\UT_BaseMap.mdf" :
 "..\..\..\UnitTest\TestData\TileService\UT_BaseMap.tsd" :
+"..\..\..\UnitTest\TestData\TileService\UT_XYZ.tsd" :
 "..\..\..\UnitTest\TestData\TileService\UT_LinkedTileSet.mdf" :
 "..\..\..\UnitTest\TestData\TileService\UT_StylizationFuncs.mdf" :
 "..\..\..\UnitTest\TestData\TileService\UT_Parcels.fs" :
@@ -3505,6 +3522,10 @@
     if NOT EXIST ..\..\bin\UnitTestFiles\nul mkdir ..\..\bin\UnitTestFiles
     if EXIST "..\..\..\UnitTest\TestData\TileService\UT_BaseMap.tsd" xcopy /r /d /y "..\..\..\UnitTest\TestData\TileService\UT_BaseMap.tsd" ..\..\bin\UnitTestFiles\
 
+..\..\bin\UnitTestFiles\UT_XYZ.tsd : "..\..\..\UnitTest\TestData\TileService\UT_XYZ.tsd"
+    if NOT EXIST ..\..\bin\UnitTestFiles\nul mkdir ..\..\bin\UnitTestFiles
+    if EXIST "..\..\..\UnitTest\TestData\TileService\UT_XYZ.tsd" xcopy /r /d /y "..\..\..\UnitTest\TestData\TileService\UT_XYZ.tsd" ..\..\bin\UnitTestFiles\
+
 ..\..\bin\UnitTestFiles\UT_LinkedTileSet.mdf : "..\..\..\UnitTest\TestData\TileService\UT_LinkedTileSet.mdf"
     if NOT EXIST ..\..\bin\UnitTestFiles\nul mkdir ..\..\bin\UnitTestFiles
     if EXIST "..\..\..\UnitTest\TestData\TileService\UT_LinkedTileSet.mdf" xcopy /r /d /y "..\..\..\UnitTest\TestData\TileService\UT_LinkedTileSet.mdf" ..\..\bin\UnitTestFiles\

Modified: sandbox/jng/tiling/Server/src/UnitTesting/TestMdfModel.cpp
===================================================================
--- sandbox/jng/tiling/Server/src/UnitTesting/TestMdfModel.cpp	2014-06-10 07:39:31 UTC (rev 8192)
+++ sandbox/jng/tiling/Server/src/UnitTesting/TestMdfModel.cpp	2014-06-10 08:16:58 UTC (rev 8193)
@@ -83,10 +83,15 @@
         Ptr<MgByteReader> mdfrdr4 = mdfsrc4->GetReader();
         m_svcResource->SetResource(mdfres4, mdfrdr4, NULL);
 
-        Ptr<MgResourceIdentifier> mdfres5 = new MgResourceIdentifier(L"Library://UnitTests/MdfModel/MdfTestTileSet.TileSetDefinition");
-        Ptr<MgByteSource> mdfsrc5 = new MgByteSource(L"../UnitTestFiles/UT_BaseMap.tsd", false);
-        Ptr<MgByteReader> mdfrdr5 = mdfsrc5->GetReader();
-        m_svcResource->SetResource(mdfres5, mdfrdr5, NULL);
+        Ptr<MgResourceIdentifier> tsdres5 = new MgResourceIdentifier(L"Library://UnitTests/MdfModel/MdfTestTileSet.TileSetDefinition");
+        Ptr<MgByteSource> tsdsrc5 = new MgByteSource(L"../UnitTestFiles/UT_BaseMap.tsd", false);
+        Ptr<MgByteReader> tsdrdr5 = tsdsrc5->GetReader();
+        m_svcResource->SetResource(tsdres5, tsdrdr5, NULL);
+
+        Ptr<MgResourceIdentifier> tsdres6 = new MgResourceIdentifier(L"Library://UnitTests/MdfModel/XYZTestTileSet.TileSetDefinition");
+        Ptr<MgByteSource> tsdsrc6 = new MgByteSource(L"../UnitTestFiles/UT_XYZ.tsd", false);
+        Ptr<MgByteReader> tsdrdr6 = tsdsrc6->GetReader();
+        m_svcResource->SetResource(tsdres6, tsdrdr6, NULL);
     }
     catch (MgException* e)
     {
@@ -869,7 +874,7 @@
     }
 }
 
-void TestMdfModel::TestCase_TileSetDefinition()
+void TestMdfModel::TestCase_TileSetDefinitionDefault()
 {
     try
     {
@@ -887,7 +892,7 @@
 
         MdfModel::TileStoreParameters* tilesetParams = tileset->GetTileStoreParameters();
         CPPUNIT_ASSERT(NULL != tilesetParams);
-        CPPUNIT_ASSERT(L"Default" == tilesetParams->GetTileProvider());
+        CPPUNIT_ASSERT(MG_TILE_PROVIDER_DEFAULT == tilesetParams->GetTileProvider());
 
         STRING path;
         INT32 width;
@@ -899,23 +904,23 @@
         for (INT32 i = 0; i < parameters->GetCount(); i++)
         {
             MdfModel::NameStringPair* pair = parameters->GetAt(i);
-            if (pair->GetName() == L"TilePath")
+            if (pair->GetName() == MG_TILE_PROVIDER_COMMON_PARAM_TILEPATH)
             {
                 path = pair->GetValue();
             }
-            else if (pair->GetName() == L"TileWidth")
+            else if (pair->GetName() == MG_TILE_PROVIDER_COMMON_PARAM_TILEWIDTH)
             {
                 width = MgUtil::StringToInt32(pair->GetValue());
             }
-            else if (pair->GetName() == L"TileHeight")
+            else if (pair->GetName() == MG_TILE_PROVIDER_COMMON_PARAM_TILEHEIGHT)
             {
                 height = MgUtil::StringToInt32(pair->GetValue());
             }
-            else if (pair->GetName() == L"TileFormat")
+            else if (pair->GetName() == MG_TILE_PROVIDER_COMMON_PARAM_TILEFORMAT)
             {
                 format = pair->GetValue();
             }
-            else if (pair->GetName() == L"FiniteScaleList") //NOXLATE
+            else if (pair->GetName() == MG_TILE_PROVIDER_COMMON_PARAM_FINITESCALELIST)
             {
                 Ptr<MgStringCollection> values = MgStringCollection::ParseCollection(pair->GetValue(), L","); //NOXLATE
                 for (INT32 i = 0; i < values->GetCount(); i++)
@@ -980,3 +985,81 @@
         CPPUNIT_FAIL(MG_WCHAR_TO_CHAR(message.c_str()));
     }
 }
+
+void TestMdfModel::TestCase_TileSetDefinitionXYZ()
+{
+    try
+    {
+        Ptr<MgResourceIdentifier> tsId = new MgResourceIdentifier(L"Library://UnitTests/MdfModel/XYZTestTileSet.TileSetDefinition");
+        Ptr<MgByteReader> content = m_svcResource->GetResourceContent(tsId);
+        Ptr<MgByteSink> sink = new MgByteSink(content);
+        Ptr<MgByte> bytes = sink->ToBuffer();
+
+        MdfParser::SAX2Parser parser;
+        parser.ParseString((const char*)bytes->Bytes(), bytes->GetLength());
+
+        CPPUNIT_ASSERT(parser.GetSucceeded());
+        MdfModel::TileSetDefinition* tileset = parser.DetachTileSetDefinition();
+        CPPUNIT_ASSERT(NULL != tileset);
+
+        MdfModel::TileStoreParameters* tilesetParams = tileset->GetTileStoreParameters();
+        CPPUNIT_ASSERT(NULL != tilesetParams);
+        CPPUNIT_ASSERT(MG_TILE_PROVIDER_XYZ == tilesetParams->GetTileProvider());
+
+        STRING path;
+        STRING format;
+
+        MdfModel::NameStringPairCollection* parameters = tilesetParams->GetParameters();
+        for (INT32 i = 0; i < parameters->GetCount(); i++)
+        {
+            MdfModel::NameStringPair* pair = parameters->GetAt(i);
+            if (pair->GetName() == MG_TILE_PROVIDER_COMMON_PARAM_TILEPATH)
+            {
+                path = pair->GetValue();
+            }
+            else if (pair->GetName() == MG_TILE_PROVIDER_COMMON_PARAM_TILEFORMAT)
+            {
+                format = pair->GetValue();
+            }
+        }
+
+        CPPUNIT_ASSERT(L"PNG" == format);
+        CPPUNIT_ASSERT(MgResourceTag::TileCachePath == path);
+
+        const MdfModel::Box2D& extents = tileset->GetExtents();
+        CPPUNIT_ASSERT_DOUBLES_EQUAL(-87.79786601383196, extents.GetMinX(), 0.00000000000001);
+        CPPUNIT_ASSERT_DOUBLES_EQUAL( 43.686857862181,   extents.GetMinY(), 0.000000000001);
+        CPPUNIT_ASSERT_DOUBLES_EQUAL(-87.66452777186925, extents.GetMaxX(), 0.00000000000001);
+        CPPUNIT_ASSERT_DOUBLES_EQUAL( 43.8037962206133,  extents.GetMaxY(), 0.0000000000001);
+
+        MdfModel::BaseMapLayerGroupCollection* groups = tileset->GetBaseMapLayerGroups();
+        CPPUNIT_ASSERT(1 == groups->GetCount());
+        CPPUNIT_ASSERT(L"BaseLayers" == groups->GetAt(0)->GetName());
+        CPPUNIT_ASSERT(L"Base Layers" == groups->GetAt(0)->GetLegendLabel());
+        CPPUNIT_ASSERT(groups->GetAt(0)->IsShowInLegend());
+        CPPUNIT_ASSERT(groups->GetAt(0)->IsExpandInLegend());
+
+        MdfModel::BaseMapLayerCollection* layers = groups->GetAt(0)->GetLayers();
+        CPPUNIT_ASSERT(2 == layers->GetCount());
+
+        CPPUNIT_ASSERT(L"Parcels" == layers->GetAt(0)->GetName());
+        CPPUNIT_ASSERT(L"Parcels" == layers->GetAt(0)->GetLegendLabel());
+        CPPUNIT_ASSERT(L"Library://UnitTests/Layers/Parcels.LayerDefinition" == layers->GetAt(0)->GetLayerResourceID());
+        CPPUNIT_ASSERT(!layers->GetAt(0)->IsExpandInLegend());
+        CPPUNIT_ASSERT(layers->GetAt(0)->IsShowInLegend());
+        CPPUNIT_ASSERT(layers->GetAt(0)->IsSelectable());
+
+        CPPUNIT_ASSERT(L"VotingDistricts" == layers->GetAt(1)->GetName());
+        CPPUNIT_ASSERT(L"Voting Districts" == layers->GetAt(1)->GetLegendLabel());
+        CPPUNIT_ASSERT(L"Library://UnitTests/Layers/VotingDistricts.LayerDefinition" == layers->GetAt(1)->GetLayerResourceID());
+        CPPUNIT_ASSERT(!layers->GetAt(1)->IsExpandInLegend());
+        CPPUNIT_ASSERT(layers->GetAt(1)->IsShowInLegend());
+        CPPUNIT_ASSERT(layers->GetAt(1)->IsSelectable());
+    }
+    catch (MgException* e)
+    {
+        STRING message = e->GetDetails(TEST_LOCALE);
+        SAFE_RELEASE(e);
+        CPPUNIT_FAIL(MG_WCHAR_TO_CHAR(message.c_str()));
+    }
+}
\ No newline at end of file

Modified: sandbox/jng/tiling/Server/src/UnitTesting/TestMdfModel.h
===================================================================
--- sandbox/jng/tiling/Server/src/UnitTesting/TestMdfModel.h	2014-06-10 07:39:31 UTC (rev 8192)
+++ sandbox/jng/tiling/Server/src/UnitTesting/TestMdfModel.h	2014-06-10 08:16:58 UTC (rev 8193)
@@ -28,7 +28,8 @@
     CPPUNIT_TEST(TestCase_Serialization);
     CPPUNIT_TEST(TestCase_Versioning);
 
-    CPPUNIT_TEST(TestCase_TileSetDefinition);
+    CPPUNIT_TEST(TestCase_TileSetDefinitionDefault);
+    CPPUNIT_TEST(TestCase_TileSetDefinitionXYZ);
 
     CPPUNIT_TEST(TestEnd); // This must be the very last unit test
     CPPUNIT_TEST_SUITE_END();
@@ -44,7 +45,8 @@
 
     void TestCase_Serialization();
     void TestCase_Versioning();
-    void TestCase_TileSetDefinition();
+    void TestCase_TileSetDefinitionDefault();
+    void TestCase_TileSetDefinitionXYZ();
 
 private:
     Ptr<MgResourceService> m_svcResource;

Modified: sandbox/jng/tiling/Server/src/UnitTesting/TestTileService.cpp
===================================================================
--- sandbox/jng/tiling/Server/src/UnitTesting/TestTileService.cpp	2014-06-10 07:39:31 UTC (rev 8192)
+++ sandbox/jng/tiling/Server/src/UnitTesting/TestTileService.cpp	2014-06-10 08:16:58 UTC (rev 8193)
@@ -128,6 +128,11 @@
         Ptr<MgByteReader> tsdrdr1 = tsdsrc1->GetReader();
         m_svcResource->SetResource(tilesetres1, tsdrdr1, NULL);
 
+        Ptr<MgResourceIdentifier> tilesetres2 = new MgResourceIdentifier(L"Library://UnitTests/TileSets/XYZ.TileSetDefinition");
+        Ptr<MgByteSource> tsdsrc2 = new MgByteSource(L"../UnitTestFiles/UT_XYZ.tsd", false);
+        Ptr<MgByteReader> tsdrdr2 = tsdsrc2->GetReader();
+        m_svcResource->SetResource(tilesetres2, tsdrdr2, NULL);
+
         // publish the layer definitions
         Ptr<MgResourceIdentifier> ldfres1 = new MgResourceIdentifier(L"Library://UnitTests/Layers/RoadCenterLines.LayerDefinition");
         Ptr<MgByteSource> ldfsrc1 = new MgByteSource(L"../UnitTestFiles/UT_RoadCenterLines.ldf", false);
@@ -1184,6 +1189,53 @@
     }
 }
 
+void TestTileService::TestCase_MgMapFromXYZTileSetStrict()
+{
+    try
+    {
+        // make a runtime map
+        Ptr<MgResourceIdentifier> tsdres = new MgResourceIdentifier(L"Library://UnitTests/TileSets/XYZ.TileSetDefinition");
+        MgMap* map = new MgMap(m_siteConnection);
+        map->Create(tsdres, L"XYZTileSet");
+
+        CPPUNIT_FAIL("MgUnsupportedTileProviderException should've been thrown");
+    }
+    catch (MgException* e)
+    {
+        bool isCorrectException = e->IsOfClass(MapGuide_Exception_MgUnsupportedTileProviderException);
+        STRING message = e->GetDetails(TEST_LOCALE);
+        SAFE_RELEASE(e);
+        CPPUNIT_ASSERT_MESSAGE(MG_WCHAR_TO_CHAR(message), isCorrectException);
+    }
+    catch (...)
+    {
+        throw;
+    }
+}
+
+void TestTileService::TestCase_MgMapFromXYZTileSetLoose()
+{
+    try
+    {
+        // make a runtime map
+        Ptr<MgResourceIdentifier> tsdres = new MgResourceIdentifier(L"Library://UnitTests/TileSets/XYZ.TileSetDefinition");
+        MgMap* map = new MgMap(m_siteConnection);
+        map->Create(m_svcResource, tsdres, L"XYZTileSet", false);
+
+        CPPUNIT_ASSERT(0 == map->GetFiniteDisplayScaleCount());
+    }
+    catch (MgException* e)
+    {
+        STRING message = e->GetDetails(TEST_LOCALE);
+        SAFE_RELEASE(e);
+        CPPUNIT_FAIL(MG_WCHAR_TO_CHAR(message.c_str()));
+    }
+    catch (...)
+    {
+        throw;
+    }
+}
+
 void TestTileService::TestCase_MgMapFromTileSet()
 {
     try

Modified: sandbox/jng/tiling/Server/src/UnitTesting/TestTileService.h
===================================================================
--- sandbox/jng/tiling/Server/src/UnitTesting/TestTileService.h	2014-06-10 07:39:31 UTC (rev 8192)
+++ sandbox/jng/tiling/Server/src/UnitTesting/TestTileService.h	2014-06-10 08:16:58 UTC (rev 8193)
@@ -28,6 +28,8 @@
     CPPUNIT_TEST(TestCase_GetTileProviders);
     CPPUNIT_TEST(TestCase_MgMap_Inline);
     CPPUNIT_TEST(TestCase_MgMap_Linked);
+    CPPUNIT_TEST(TestCase_MgMapFromXYZTileSetStrict);
+    CPPUNIT_TEST(TestCase_MgMapFromXYZTileSetLoose);
     CPPUNIT_TEST(TestCase_MgMapFromTileSet);
     CPPUNIT_TEST(TestCase_GetTile);
     CPPUNIT_TEST(TestCase_SetTile);
@@ -51,6 +53,8 @@
     void TestCase_GetTileProviders();
     void TestCase_MgMap_Inline();
     void TestCase_MgMap_Linked();
+    void TestCase_MgMapFromXYZTileSetStrict();
+    void TestCase_MgMapFromXYZTileSetLoose();
     void TestCase_MgMapFromTileSet();
     void TestCase_GetTile();
     void TestCase_SetTile();

Added: sandbox/jng/tiling/UnitTest/TestData/TileService/UT_XYZ.tsd
===================================================================
--- sandbox/jng/tiling/UnitTest/TestData/TileService/UT_XYZ.tsd	                        (rev 0)
+++ sandbox/jng/tiling/UnitTest/TestData/TileService/UT_XYZ.tsd	2014-06-10 08:16:58 UTC (rev 8193)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<TileSetDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="TileSetDefinition-3.0.0.xsd">
+  <TileStoreParameters>
+    <TileProvider>XYZ</TileProvider>
+    <Parameter>
+      <Name>TilePath</Name>
+      <Value>%MG_TILE_CACHE_PATH%</Value>
+    </Parameter>
+    <Parameter>
+      <Name>TileFormat</Name>
+      <Value>PNG</Value>
+    </Parameter>
+  </TileStoreParameters>
+  <Extents>
+    <MinX>-87.79786601383196</MinX>
+    <MaxX>-87.66452777186925</MaxX>
+    <MinY>43.6868578621819</MinY>
+    <MaxY>43.8037962206133</MaxY>
+  </Extents>
+  <BaseMapLayerGroup>
+    <Name>BaseLayers</Name>
+    <Visible>true</Visible>
+    <ShowInLegend>true</ShowInLegend>
+    <ExpandInLegend>true</ExpandInLegend>
+    <LegendLabel>Base Layers</LegendLabel>
+    <BaseMapLayer>
+      <Name>Parcels</Name>
+      <ResourceId>Library://UnitTests/Layers/Parcels.LayerDefinition</ResourceId>
+      <Selectable>true</Selectable>
+      <ShowInLegend>true</ShowInLegend>
+      <LegendLabel>Parcels</LegendLabel>
+      <ExpandInLegend>false</ExpandInLegend>
+    </BaseMapLayer>
+    <BaseMapLayer>
+      <Name>VotingDistricts</Name>
+      <ResourceId>Library://UnitTests/Layers/VotingDistricts.LayerDefinition</ResourceId>
+      <Selectable>true</Selectable>
+      <ShowInLegend>true</ShowInLegend>
+      <LegendLabel>Voting Districts</LegendLabel>
+      <ExpandInLegend>false</ExpandInLegend>
+    </BaseMapLayer>
+  </BaseMapLayerGroup>
+</TileSetDefinition>



More information about the mapguide-commits mailing list