[mapguide-commits] r5290 - in trunk/MgDev: Server/src/PostBuild
Server/src/UnitTesting UnitTest/TestData/MdfModel
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Mon Oct 18 05:56:22 EDT 2010
Author: hubu
Date: 2010-10-18 02:56:22 -0700 (Mon, 18 Oct 2010)
New Revision: 5290
Added:
trunk/MgDev/UnitTest/TestData/MdfModel/MdfTestMap.mdf
Modified:
trunk/MgDev/Server/src/PostBuild/PostBuild.mak
trunk/MgDev/Server/src/UnitTesting/TestMdfModel.cpp
trunk/MgDev/UnitTest/TestData/MdfModel/MdfTestTypeStyles.ldf
Log:
On behalf of: Spark Liu
Adding unit test for layer / map definition 2.3.0 in MdfModel.
The unit test makes sure that layer definition 2.3.0 is compatible with and convertible from / to earlier version without information missing.
The unit test also makes sure that map definition 2.3.0 is compatible with earlier version and convertible from / to earlier version.
However, as map definition 1.0.0 doesn't take extension into consideration, when a 2.3.0 map definition is stored in 1.0.0 format, the watermark information will be missing.
Modified: trunk/MgDev/Server/src/PostBuild/PostBuild.mak
===================================================================
--- trunk/MgDev/Server/src/PostBuild/PostBuild.mak 2010-10-18 07:16:47 UTC (rev 5289)
+++ trunk/MgDev/Server/src/PostBuild/PostBuild.mak 2010-10-18 09:56:22 UTC (rev 5290)
@@ -206,6 +206,7 @@
..\..\bin\UnitTestFiles\UT_GetLayerKmlResult.txt \
..\..\bin\UnitTestFiles\UT_GetFeaturesKmlResult.txt \
..\..\bin\UnitTestFiles\TESTChainedInner1ToManyJoin.FeatureSource \
+ ..\..\bin\UnitTestFiles\MdfTestMap.mdf \
..\..\bin\UnitTestFiles\MdfTestTypeStyles.ldf \
..\..\bin\UnitTestFiles\MdfTestCompoundSymbol.sd \
..\..\bin\UnitTestFiles\MdfTestSimpleSymbol.sd \
@@ -454,6 +455,7 @@
..\..\bin\UnitTestFiles\UT_GetLayerKmlResult.txt \
..\..\bin\UnitTestFiles\UT_GetFeaturesKmlResult.txt \
..\..\bin\UnitTestFiles\TESTChainedInner1ToManyJoin.FeatureSource \
+ ..\..\bin\UnitTestFiles\MdfTestMap.mdf \
..\..\bin\UnitTestFiles\MdfTestTypeStyles.ldf \
..\..\bin\UnitTestFiles\MdfTestCompoundSymbol.sd \
..\..\bin\UnitTestFiles\MdfTestSimpleSymbol.sd \
@@ -702,6 +704,7 @@
..\..\bin\UnitTestFiles\UT_GetLayerKmlResult.txt \
..\..\bin\UnitTestFiles\UT_GetFeaturesKmlResult.txt \
..\..\bin\UnitTestFiles\TESTChainedInner1ToManyJoin.FeatureSource \
+ ..\..\bin\UnitTestFiles\MdfTestMap.mdf \
..\..\bin\UnitTestFiles\MdfTestTypeStyles.ldf \
..\..\bin\UnitTestFiles\MdfTestCompoundSymbol.sd \
..\..\bin\UnitTestFiles\MdfTestSimpleSymbol.sd \
@@ -950,6 +953,7 @@
..\..\bin\UnitTestFiles\UT_GetLayerKmlResult.txt \
..\..\bin\UnitTestFiles\UT_GetFeaturesKmlResult.txt \
..\..\bin\UnitTestFiles\TESTChainedInner1ToManyJoin.FeatureSource \
+ ..\..\bin\UnitTestFiles\MdfTestMap.mdf \
..\..\bin\UnitTestFiles\MdfTestTypeStyles.ldf \
..\..\bin\UnitTestFiles\MdfTestCompoundSymbol.sd \
..\..\bin\UnitTestFiles\MdfTestSimpleSymbol.sd \
@@ -1071,6 +1075,7 @@
if EXIST ..\..\bin\UnitTestFiles\UT_GetLayerKmlResult.txt del /F ..\..\bin\UnitTestFiles\UT_GetLayerKmlResult.txt
if EXIST ..\..\bin\UnitTestFiles\UT_GetFeaturesKmlResult.txt del /F ..\..\bin\UnitTestFiles\UT_GetFeaturesKmlResult.txt
if EXIST ..\..\bin\UnitTestFiles\TESTChainedInner1ToManyJoin.FeatureSource del /F ..\..\bin\UnitTestFiles\TESTChainedInner1ToManyJoin.FeatureSource
+ if EXIST ..\..\bin\UnitTestFiles\MdfTestMap.mdf del /F ..\..\bin\UnitTestFiles\MdfTestMap.mdf
if EXIST ..\..\bin\UnitTestFiles\MdfTestTypeStyles.ldf del /F ..\..\bin\UnitTestFiles\MdfTestTypeStyles.ldf
if EXIST ..\..\bin\UnitTestFiles\MdfTestCompoundSymbol.sd del /F ..\..\bin\UnitTestFiles\MdfTestCompoundSymbol.sd
if EXIST ..\..\bin\UnitTestFiles\MdfTestSimpleSymbol.sd del /F ..\..\bin\UnitTestFiles\MdfTestSimpleSymbol.sd
@@ -1187,6 +1192,7 @@
if EXIST ..\..\bin\UnitTestFiles\UT_GetLayerKmlResult.txt del /F ..\..\bin\UnitTestFiles\UT_GetLayerKmlResult.txt
if EXIST ..\..\bin\UnitTestFiles\UT_GetFeaturesKmlResult.txt del /F ..\..\bin\UnitTestFiles\UT_GetFeaturesKmlResult.txt
if EXIST ..\..\bin\UnitTestFiles\TESTChainedInner1ToManyJoin.FeatureSource del /F ..\..\bin\UnitTestFiles\TESTChainedInner1ToManyJoin.FeatureSource
+ if EXIST ..\..\bin\UnitTestFiles\MdfTestMap.mdf del /F ..\..\bin\UnitTestFiles\MdfTestMap.mdf
if EXIST ..\..\bin\UnitTestFiles\MdfTestTypeStyles.ldf del /F ..\..\bin\UnitTestFiles\MdfTestTypeStyles.ldf
if EXIST ..\..\bin\UnitTestFiles\MdfTestCompoundSymbol.sd del /F ..\..\bin\UnitTestFiles\MdfTestCompoundSymbol.sd
if EXIST ..\..\bin\UnitTestFiles\MdfTestSimpleSymbol.sd del /F ..\..\bin\UnitTestFiles\MdfTestSimpleSymbol.sd
@@ -1303,6 +1309,7 @@
if EXIST ..\..\bin\UnitTestFiles\UT_GetLayerKmlResult.txt del /F ..\..\bin\UnitTestFiles\UT_GetLayerKmlResult.txt
if EXIST ..\..\bin\UnitTestFiles\UT_GetFeaturesKmlResult.txt del /F ..\..\bin\UnitTestFiles\UT_GetFeaturesKmlResult.txt
if EXIST ..\..\bin\UnitTestFiles\TESTChainedInner1ToManyJoin.FeatureSource del /F ..\..\bin\UnitTestFiles\TESTChainedInner1ToManyJoin.FeatureSource
+ if EXIST ..\..\bin\UnitTestFiles\MdfTestMap.mdf del /F ..\..\bin\UnitTestFiles\MdfTestMap.mdf
if EXIST ..\..\bin\UnitTestFiles\MdfTestTypeStyles.ldf del /F ..\..\bin\UnitTestFiles\MdfTestTypeStyles.ldf
if EXIST ..\..\bin\UnitTestFiles\MdfTestCompoundSymbol.sd del /F ..\..\bin\UnitTestFiles\MdfTestCompoundSymbol.sd
if EXIST ..\..\bin\UnitTestFiles\MdfTestSimpleSymbol.sd del /F ..\..\bin\UnitTestFiles\MdfTestSimpleSymbol.sd
@@ -1418,6 +1425,7 @@
if EXIST ..\..\bin\UnitTestFiles\UT_GetLayerKmlResult.txt del /F ..\..\bin\UnitTestFiles\UT_GetLayerKmlResult.txt
if EXIST ..\..\bin\UnitTestFiles\UT_GetFeaturesKmlResult.txt del /F ..\..\bin\UnitTestFiles\UT_GetFeaturesKmlResult.txt
if EXIST ..\..\bin\UnitTestFiles\TESTChainedInner1ToManyJoin.FeatureSource del /F ..\..\bin\UnitTestFiles\TESTChainedInner1ToManyJoin.FeatureSource
+ if EXIST ..\..\bin\UnitTestFiles\MdfTestMap.mdf del /F ..\..\bin\UnitTestFiles\MdfTestMap.mdf
if EXIST ..\..\bin\UnitTestFiles\MdfTestTypeStyles.ldf del /F ..\..\bin\UnitTestFiles\MdfTestTypeStyles.ldf
if EXIST ..\..\bin\UnitTestFiles\MdfTestCompoundSymbol.sd del /F ..\..\bin\UnitTestFiles\MdfTestCompoundSymbol.sd
if EXIST ..\..\bin\UnitTestFiles\MdfTestSimpleSymbol.sd del /F ..\..\bin\UnitTestFiles\MdfTestSimpleSymbol.sd
@@ -1500,6 +1508,7 @@
"..\..\..\UnitTest\TestData\KmlService\UT_GetMapKmlResult.txt" :
"..\..\..\UnitTest\TestData\KmlService\UT_GetLayerKmlResult.txt" :
"..\..\..\UnitTest\TestData\KmlService\UT_GetFeaturesKmlResult.txt" :
+"..\..\..\UnitTest\TestData\MdfModel\MdfTestMap.mdf" :
"..\..\..\UnitTest\TestData\MdfModel\MdfTestTypeStyles.ldf" :
"..\..\..\UnitTest\TestData\MdfModel\MdfTestCompoundSymbol.sd" :
"..\..\..\UnitTest\TestData\MdfModel\MdfTestSimpleSymbol.sd" :
@@ -1729,6 +1738,10 @@
if NOT EXIST ..\..\bin\UnitTestFiles\nul mkdir ..\..\bin\UnitTestFiles
if EXIST "..\..\..\UnitTest\TestData\KmlService\UT_GetFeaturesKmlResult.txt" xcopy /r /d /y "..\..\..\UnitTest\TestData\KmlService\UT_GetFeaturesKmlResult.txt" ..\..\bin\UnitTestFiles\
+..\..\bin\UnitTestFiles\MdfTestMap.mdf : "..\..\..\UnitTest\TestData\MdfModel\MdfTestMap.mdf"
+ if NOT EXIST ..\..\bin\UnitTestFiles\nul mkdir ..\..\bin\UnitTestFiles
+ if EXIST "..\..\..\UnitTest\TestData\MdfModel\MdfTestMap.mdf" xcopy /r /d /y "..\..\..\UnitTest\TestData\MdfModel\MdfTestMap.mdf" ..\..\bin\UnitTestFiles\
+
..\..\bin\UnitTestFiles\MdfTestTypeStyles.ldf : "..\..\..\UnitTest\TestData\MdfModel\MdfTestTypeStyles.ldf"
if NOT EXIST ..\..\bin\UnitTestFiles\nul mkdir ..\..\bin\UnitTestFiles
if EXIST "..\..\..\UnitTest\TestData\MdfModel\MdfTestTypeStyles.ldf" xcopy /r /d /y "..\..\..\UnitTest\TestData\MdfModel\MdfTestTypeStyles.ldf" ..\..\bin\UnitTestFiles\
Modified: trunk/MgDev/Server/src/UnitTesting/TestMdfModel.cpp
===================================================================
--- trunk/MgDev/Server/src/UnitTesting/TestMdfModel.cpp 2010-10-18 07:16:47 UTC (rev 5289)
+++ trunk/MgDev/Server/src/UnitTesting/TestMdfModel.cpp 2010-10-18 09:56:22 UTC (rev 5290)
@@ -77,6 +77,11 @@
Ptr<MgByteSource> ldfsrc3 = new MgByteSource(L"../UnitTestFiles/MdfTestTypeStyles.ldf", false);
Ptr<MgByteReader> ldfrdr3 = ldfsrc3->GetReader();
m_svcResource->SetResource(ldfres3, ldfrdr3, NULL);
+
+ Ptr<MgResourceIdentifier> mdfres4 = new MgResourceIdentifier(L"Library://UnitTests/MdfModel/MdfTestMap.MapDefinition");
+ Ptr<MgByteSource> mdfsrc4 = new MgByteSource(L"../UnitTestFiles/MdfTestMap.mdf", false);
+ Ptr<MgByteReader> mdfrdr4 = mdfsrc4->GetReader();
+ m_svcResource->SetResource(mdfres4, mdfrdr4, NULL);
}
catch (MgException* e)
{
@@ -107,6 +112,8 @@
m_svcResource->DeleteResource(sdres2);
Ptr<MgResourceIdentifier> ldfres3 = new MgResourceIdentifier(L"Library://UnitTests/MdfModel/MdfTestTypeStyles.LayerDefinition");
m_svcResource->DeleteResource(ldfres3);
+ Ptr<MgResourceIdentifier> mdfres4 = new MgResourceIdentifier(L"Library://UnitTests/MdfModel/MdfTestMap.MapDefinition");
+ m_svcResource->DeleteResource(mdfres4);
}
catch(MgFileIoException* e)
{
@@ -138,6 +145,7 @@
Ptr<MgResourceIdentifier> sdresV = new MgResourceIdentifier(L"Library://UnitTests/MdfModel/MdfTestDummy.SymbolDefinition");
Ptr<MgResourceIdentifier> ldfresV = new MgResourceIdentifier(L"Library://UnitTests/MdfModel/MdfTestDummy.LayerDefinition");
+ Ptr<MgResourceIdentifier> mdfresV = new MgResourceIdentifier(L"Library://UnitTests/MdfModel/MdfTestDummy.MapDefinition");
// ------------------------------------------------------
// process symbol #1 - a simple symbol definition
@@ -256,9 +264,32 @@
// ------------------------------------------------------
// iterate over the layer definition schema versions
- for (int minorVersion=3; minorVersion>=0; --minorVersion)
+ const int LAYER_SCHEMA_COUNT = 4 + 1; //4 for 1.x.x and 1 for 2.x.x
+ std::vector<Version> layerVersions(LAYER_SCHEMA_COUNT);
+ //layer 1.0.0 - MapGuide 2007
+ layerVersions[0].SetMajor(1);
+ layerVersions[0].SetMinor(0);
+ layerVersions[0].SetRevision(0);
+ //layer 1.1.0 - MapGuide 2008
+ layerVersions[1].SetMajor(1);
+ layerVersions[1].SetMinor(1);
+ layerVersions[1].SetRevision(0);
+ //layer 1.2.0 - MapGuide 2009
+ layerVersions[2].SetMajor(1);
+ layerVersions[2].SetMinor(2);
+ layerVersions[2].SetRevision(0);
+ //layer 1.3.0 - MapGuide 2010
+ layerVersions[3].SetMajor(1);
+ layerVersions[3].SetMinor(3);
+ layerVersions[3].SetRevision(0);
+ //layer 2.3.0 - MapGuide 2012
+ layerVersions[4].SetMajor(2);
+ layerVersions[4].SetMinor(3);
+ layerVersions[4].SetRevision(0);
+
+ for (vector<Version>::size_type layerVersionIndex = 0; layerVersionIndex != layerVersions.size(); ++layerVersionIndex)
{
- Version layerDefVersion(1, minorVersion, 0);
+ Version &layerDefVersion = layerVersions[layerVersionIndex];
Ptr<MgResourceIdentifier> ldfres = new MgResourceIdentifier(L"Library://UnitTests/MdfModel/MdfTestTypeStyles.LayerDefinition");
@@ -307,6 +338,75 @@
// delete the files
MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestTypeStyles_Copy1.ldf", true);
MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestTypeStyles_Copy2.ldf", true);
+
+
+ // ------------------------------------------------------
+ // process map definition with type styles
+ // ------------------------------------------------------
+
+ // iterate over the map definition schema versions
+ const int MAP_SCHEMA_COUNT = 1 + 1; //1 for 1.x.x and 1 for 2.x.x
+ std::vector<Version> mapVersions(MAP_SCHEMA_COUNT);
+ //map 1.0.0 - MapGuide before 2012
+ mapVersions[0].SetMajor(1);
+ mapVersions[0].SetMinor(0);
+ mapVersions[0].SetRevision(0);
+ //map 2.3.0 - MapGuide 2012
+ mapVersions[1].SetMajor(2);
+ mapVersions[1].SetMinor(3);
+ mapVersions[1].SetRevision(0);
+
+ for (vector<Version>::size_type mapVersionIndex = 0; mapVersionIndex != mapVersions.size(); ++mapVersionIndex)
+ {
+ Version &mapDefVersion = mapVersions[mapVersionIndex];
+
+ Ptr<MgResourceIdentifier> mdfres = new MgResourceIdentifier(L"Library://UnitTests/MdfModel/MdfTestMap.MapDefinition");
+
+ // parse the MDF - this exercises MdfParser deserialization
+ Ptr<MgByteReader> rdr = m_svcResource->GetResourceContent(mdfres);
+ Ptr<MgByteSink> sink = new MgByteSink(rdr);
+ Ptr<MgByte> bytes = sink->ToBuffer();
+ CPPUNIT_ASSERT(bytes->GetLength() > 0);
+
+ parser.ParseString((const char*)bytes->Bytes(), bytes->GetLength());
+ CPPUNIT_ASSERT(parser.GetSucceeded());
+
+ // write the file - this exercises MdfParser serialization
+ auto_ptr<MapDefinition> mapDef1(parser.DetachMapDefinition());
+ CPPUNIT_ASSERT(mapDef1.get() != NULL);
+
+ parser.WriteToFile("../UnitTestFiles/MdfTestMap_Copy1.mdf", mapDef1.get(), NULL, NULL, NULL, NULL, NULL, &mapDefVersion);
+ CPPUNIT_ASSERT(MgFileUtil::IsFile(L"../UnitTestFiles/MdfTestMap_Copy1.mdf"));
+
+ // parse and resave the newly written file
+ Ptr<MgByteSource> src1 = new MgByteSource(L"../UnitTestFiles/MdfTestMap_Copy1.mdf");
+ Ptr<MgByteReader> rdr1 = src1->GetReader();
+ Ptr<MgByteSink> sink1 = new MgByteSink(rdr1);
+ Ptr<MgByte> bytes1 = sink1->ToBuffer();
+ parser.ParseString((const char*)bytes1->Bytes(), bytes1->GetLength());
+ auto_ptr<MapDefinition> mapDef2(parser.DetachMapDefinition());
+ CPPUNIT_ASSERT(mapDef2.get() != NULL);
+
+ parser.WriteToFile("../UnitTestFiles/MdfTestMap_Copy2.mdf", mapDef2.get(), NULL, NULL, NULL, NULL, NULL, &mapDefVersion);
+ CPPUNIT_ASSERT(MgFileUtil::IsFile(L"../UnitTestFiles/MdfTestMap_Copy2.mdf"));
+
+ // compare the two files
+ Ptr<MgByteSource> src2 = new MgByteSource(L"../UnitTestFiles/MdfTestMap_Copy2.mdf");
+ Ptr<MgByteReader> rdr2 = src2->GetReader();
+ Ptr<MgByteSink> sink2 = new MgByteSink(rdr2);
+ Ptr<MgByte> bytes2 = sink2->ToBuffer();
+
+ CPPUNIT_ASSERT(bytes1->GetLength() == bytes2->GetLength());
+ CPPUNIT_ASSERT(memcmp(bytes1->Bytes(), bytes2->Bytes(), bytes1->GetLength()) == 0);
+
+ // save the new resource to the repository to validate the XML
+ m_svcResource->SetResource(mdfresV, rdr1, NULL);
+ m_svcResource->DeleteResource(mdfresV);
+ }
+
+ // delete the files
+ MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestMap_Copy1.mdf", true);
+ MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestMap_Copy2.mdf", true);
}
catch (MgException* e)
{
@@ -326,6 +426,7 @@
Version layerDefVersion11(1, 1, 0); // MapGuide 2008
Version layerDefVersion12(1, 2, 0); // MapGuide 2009
Version layerDefVersion13(1, 3, 0); // MapGuide 2010
+ Version layerDefVersion23(2, 3, 0); // MapGuide 2012
Version symbolDefVersion10(1, 0, 0); // MapGuide 2008
Version symbolDefVersion11(1, 1, 0); // MapGuide 2009
MdfParser::SAX2Parser parser;
@@ -475,6 +576,9 @@
parser.WriteToFile("../UnitTestFiles/MdfTestTypeStyles_v13_Copy1.ldf", NULL, layerDef1.get(), NULL, NULL, NULL, NULL, &layerDefVersion13);
CPPUNIT_ASSERT(MgFileUtil::IsFile(L"../UnitTestFiles/MdfTestTypeStyles_v13_Copy1.ldf"));
+ parser.WriteToFile("../UnitTestFiles/MdfTestTypeStyles_v23_Copy1.ldf", NULL, layerDef1.get(), NULL, NULL, NULL, NULL, &layerDefVersion23);
+ CPPUNIT_ASSERT(MgFileUtil::IsFile(L"../UnitTestFiles/MdfTestTypeStyles_v23_Copy1.ldf"));
+
// parse and resave the newly written files
Ptr<MgByteSource> src1_09 = new MgByteSource(L"../UnitTestFiles/MdfTestTypeStyles_v09_Copy1.ldf");
Ptr<MgByteReader> rdr1_09 = src1_09->GetReader();
@@ -531,6 +635,17 @@
parser.WriteToFile("../UnitTestFiles/MdfTestTypeStyles_v13_Copy2.ldf", NULL, layerDef2_13.get(), NULL, NULL, NULL, NULL, &layerDefVersion13);
CPPUNIT_ASSERT(MgFileUtil::IsFile(L"../UnitTestFiles/MdfTestTypeStyles_v13_Copy2.ldf"));
+ Ptr<MgByteSource> src1_23 = new MgByteSource(L"../UnitTestFiles/MdfTestTypeStyles_v23_Copy1.ldf");
+ Ptr<MgByteReader> rdr1_23 = src1_23->GetReader();
+ Ptr<MgByteSink> sink1_23 = new MgByteSink(rdr1_23);
+ Ptr<MgByte> bytes1_23 = sink1_23->ToBuffer();
+ parser.ParseString((const char*)bytes1_23->Bytes(), bytes1_23->GetLength());
+ auto_ptr<VectorLayerDefinition> layerDef2_23(parser.DetachVectorLayerDefinition());
+ CPPUNIT_ASSERT(layerDef2_23.get() != NULL);
+
+ parser.WriteToFile("../UnitTestFiles/MdfTestTypeStyles_v23_Copy2.ldf", NULL, layerDef2_23.get(), NULL, NULL, NULL, NULL, &layerDefVersion23);
+ CPPUNIT_ASSERT(MgFileUtil::IsFile(L"../UnitTestFiles/MdfTestTypeStyles_v23_Copy2.ldf"));
+
// compare the files
Ptr<MgByteSource> src2_09 = new MgByteSource(L"../UnitTestFiles/MdfTestTypeStyles_v09_Copy2.ldf");
Ptr<MgByteReader> rdr2_09 = src2_09->GetReader();
@@ -567,52 +682,70 @@
CPPUNIT_ASSERT(bytes1_13->GetLength() == bytes2_13->GetLength());
CPPUNIT_ASSERT(memcmp(bytes1_13->Bytes(), bytes2_13->Bytes(), bytes1_13->GetLength()) == 0);
+ Ptr<MgByteSource> src2_23 = new MgByteSource(L"../UnitTestFiles/MdfTestTypeStyles_v23_Copy2.ldf");
+ Ptr<MgByteReader> rdr2_23 = src2_23->GetReader();
+ Ptr<MgByteSink> sink2_23 = new MgByteSink(rdr2_23);
+ Ptr<MgByte> bytes2_23 = sink2_23->ToBuffer();
+ CPPUNIT_ASSERT(bytes1_23->GetLength() == bytes2_23->GetLength());
+ CPPUNIT_ASSERT(memcmp(bytes1_23->Bytes(), bytes2_23->Bytes(), bytes1_23->GetLength()) == 0);
+
// verify extended data support is working...
// - layerDef2_10 was loaded from XML containing extended data
// - layerDef2_11 was loaded from XML containing extended data
// - layerDef2_12 was loaded from XML containing no extended data
// - layerDef2_13 was loaded from XML containing no extended data
+ // - layerDef2_23 was loaded from XML containing no extended data
// the data in these object models should be the same
- parser.WriteToFile("../UnitTestFiles/MdfTestTypeStyles_v13_Copy3a.ldf", NULL, layerDef2_10.get(), NULL, NULL, NULL, NULL, &layerDefVersion13);
- CPPUNIT_ASSERT(MgFileUtil::IsFile(L"../UnitTestFiles/MdfTestTypeStyles_v13_Copy3a.ldf"));
+ parser.WriteToFile("../UnitTestFiles/MdfTestTypeStyles_v23_Copy3a.ldf", NULL, layerDef2_10.get(), NULL, NULL, NULL, NULL, &layerDefVersion23);
+ CPPUNIT_ASSERT(MgFileUtil::IsFile(L"../UnitTestFiles/MdfTestTypeStyles_v23_Copy3a.ldf"));
- parser.WriteToFile("../UnitTestFiles/MdfTestTypeStyles_v13_Copy3b.ldf", NULL, layerDef2_11.get(), NULL, NULL, NULL, NULL, &layerDefVersion13);
- CPPUNIT_ASSERT(MgFileUtil::IsFile(L"../UnitTestFiles/MdfTestTypeStyles_v13_Copy3b.ldf"));
+ parser.WriteToFile("../UnitTestFiles/MdfTestTypeStyles_v23_Copy3b.ldf", NULL, layerDef2_11.get(), NULL, NULL, NULL, NULL, &layerDefVersion23);
+ CPPUNIT_ASSERT(MgFileUtil::IsFile(L"../UnitTestFiles/MdfTestTypeStyles_v23_Copy3b.ldf"));
- parser.WriteToFile("../UnitTestFiles/MdfTestTypeStyles_v13_Copy3c.ldf", NULL, layerDef2_12.get(), NULL, NULL, NULL, NULL, &layerDefVersion13);
- CPPUNIT_ASSERT(MgFileUtil::IsFile(L"../UnitTestFiles/MdfTestTypeStyles_v13_Copy3c.ldf"));
+ parser.WriteToFile("../UnitTestFiles/MdfTestTypeStyles_v23_Copy3c.ldf", NULL, layerDef2_12.get(), NULL, NULL, NULL, NULL, &layerDefVersion23);
+ CPPUNIT_ASSERT(MgFileUtil::IsFile(L"../UnitTestFiles/MdfTestTypeStyles_v23_Copy3c.ldf"));
- parser.WriteToFile("../UnitTestFiles/MdfTestTypeStyles_v13_Copy3d.ldf", NULL, layerDef2_13.get(), NULL, NULL, NULL, NULL, &layerDefVersion13);
- CPPUNIT_ASSERT(MgFileUtil::IsFile(L"../UnitTestFiles/MdfTestTypeStyles_v13_Copy3d.ldf"));
+ parser.WriteToFile("../UnitTestFiles/MdfTestTypeStyles_v23_Copy3d.ldf", NULL, layerDef2_13.get(), NULL, NULL, NULL, NULL, &layerDefVersion23);
+ CPPUNIT_ASSERT(MgFileUtil::IsFile(L"../UnitTestFiles/MdfTestTypeStyles_v23_Copy3d.ldf"));
- Ptr<MgByteSource> src3a_13 = new MgByteSource(L"../UnitTestFiles/MdfTestTypeStyles_v13_Copy3a.ldf");
- Ptr<MgByteReader> rdr3a_13 = src3a_13->GetReader();
- Ptr<MgByteSink> sink3a_13 = new MgByteSink(rdr3a_13);
- Ptr<MgByte> bytes3a_13 = sink3a_13->ToBuffer();
+ parser.WriteToFile("../UnitTestFiles/MdfTestTypeStyles_v23_Copy3e.ldf", NULL, layerDef2_23.get(), NULL, NULL, NULL, NULL, &layerDefVersion23);
+ CPPUNIT_ASSERT(MgFileUtil::IsFile(L"../UnitTestFiles/MdfTestTypeStyles_v23_Copy3e.ldf"));
- Ptr<MgByteSource> src3b_13 = new MgByteSource(L"../UnitTestFiles/MdfTestTypeStyles_v13_Copy3b.ldf");
- Ptr<MgByteReader> rdr3b_13 = src3b_13->GetReader();
- Ptr<MgByteSink> sink3b_13 = new MgByteSink(rdr3b_13);
- Ptr<MgByte> bytes3b_13 = sink3b_13->ToBuffer();
+ Ptr<MgByteSource> src3a_23 = new MgByteSource(L"../UnitTestFiles/MdfTestTypeStyles_v23_Copy3a.ldf");
+ Ptr<MgByteReader> rdr3a_23 = src3a_23->GetReader();
+ Ptr<MgByteSink> sink3a_23 = new MgByteSink(rdr3a_23);
+ Ptr<MgByte> bytes3a_23 = sink3a_23->ToBuffer();
- Ptr<MgByteSource> src3c_13 = new MgByteSource(L"../UnitTestFiles/MdfTestTypeStyles_v13_Copy3c.ldf");
- Ptr<MgByteReader> rdr3c_13 = src3c_13->GetReader();
- Ptr<MgByteSink> sink3c_13 = new MgByteSink(rdr3c_13);
- Ptr<MgByte> bytes3c_13 = sink3c_13->ToBuffer();
+ Ptr<MgByteSource> src3b_23 = new MgByteSource(L"../UnitTestFiles/MdfTestTypeStyles_v23_Copy3b.ldf");
+ Ptr<MgByteReader> rdr3b_23 = src3b_23->GetReader();
+ Ptr<MgByteSink> sink3b_23 = new MgByteSink(rdr3b_23);
+ Ptr<MgByte> bytes3b_23 = sink3b_23->ToBuffer();
- Ptr<MgByteSource> src3d_13 = new MgByteSource(L"../UnitTestFiles/MdfTestTypeStyles_v13_Copy3d.ldf");
- Ptr<MgByteReader> rdr3d_13 = src3d_13->GetReader();
- Ptr<MgByteSink> sink3d_13 = new MgByteSink(rdr3d_13);
- Ptr<MgByte> bytes3d_13 = sink3d_13->ToBuffer();
+ Ptr<MgByteSource> src3c_23 = new MgByteSource(L"../UnitTestFiles/MdfTestTypeStyles_v23_Copy3c.ldf");
+ Ptr<MgByteReader> rdr3c_23 = src3c_23->GetReader();
+ Ptr<MgByteSink> sink3c_23 = new MgByteSink(rdr3c_23);
+ Ptr<MgByte> bytes3c_23 = sink3c_23->ToBuffer();
- CPPUNIT_ASSERT(bytes3a_13->GetLength() == bytes3b_13->GetLength());
- CPPUNIT_ASSERT(bytes3b_13->GetLength() == bytes3c_13->GetLength());
- CPPUNIT_ASSERT(bytes3c_13->GetLength() == bytes3d_13->GetLength());
- CPPUNIT_ASSERT(memcmp(bytes3a_13->Bytes(), bytes3b_13->Bytes(), bytes3a_13->GetLength()) == 0);
- CPPUNIT_ASSERT(memcmp(bytes3b_13->Bytes(), bytes3c_13->Bytes(), bytes3b_13->GetLength()) == 0);
- CPPUNIT_ASSERT(memcmp(bytes3c_13->Bytes(), bytes3d_13->Bytes(), bytes3c_13->GetLength()) == 0);
+ Ptr<MgByteSource> src3d_23 = new MgByteSource(L"../UnitTestFiles/MdfTestTypeStyles_v23_Copy3d.ldf");
+ Ptr<MgByteReader> rdr3d_23 = src3d_23->GetReader();
+ Ptr<MgByteSink> sink3d_23 = new MgByteSink(rdr3d_23);
+ Ptr<MgByte> bytes3d_23 = sink3d_23->ToBuffer();
+ Ptr<MgByteSource> src3e_23 = new MgByteSource(L"../UnitTestFiles/MdfTestTypeStyles_v23_Copy3e.ldf");
+ Ptr<MgByteReader> rdr3e_23 = src3e_23->GetReader();
+ Ptr<MgByteSink> sink3e_23 = new MgByteSink(rdr3e_23);
+ Ptr<MgByte> bytes3e_23 = sink3e_23->ToBuffer();
+
+ CPPUNIT_ASSERT(bytes3a_23->GetLength() == bytes3b_23->GetLength());
+ CPPUNIT_ASSERT(bytes3b_23->GetLength() == bytes3c_23->GetLength());
+ CPPUNIT_ASSERT(bytes3c_23->GetLength() == bytes3d_23->GetLength());
+ CPPUNIT_ASSERT(bytes3d_23->GetLength() == bytes3e_23->GetLength());
+ CPPUNIT_ASSERT(memcmp(bytes3a_23->Bytes(), bytes3b_23->Bytes(), bytes3a_23->GetLength()) == 0);
+ CPPUNIT_ASSERT(memcmp(bytes3b_23->Bytes(), bytes3c_23->Bytes(), bytes3b_23->GetLength()) == 0);
+ CPPUNIT_ASSERT(memcmp(bytes3c_23->Bytes(), bytes3d_23->Bytes(), bytes3c_23->GetLength()) == 0);
+ CPPUNIT_ASSERT(memcmp(bytes3d_23->Bytes(), bytes3e_23->Bytes(), bytes3d_23->GetLength()) == 0);
+
// save the new resources to the repository to validate the XML
m_svcResource->SetResource(ldfresV, rdr1_09, NULL);
m_svcResource->DeleteResource(ldfresV);
@@ -624,8 +757,10 @@
m_svcResource->DeleteResource(ldfresV);
m_svcResource->SetResource(ldfresV, rdr1_13, NULL);
m_svcResource->DeleteResource(ldfresV);
- m_svcResource->SetResource(ldfresV, rdr3a_13, NULL);
+ m_svcResource->SetResource(ldfresV, rdr1_23, NULL);
m_svcResource->DeleteResource(ldfresV);
+ m_svcResource->SetResource(ldfresV, rdr3a_23, NULL);
+ m_svcResource->DeleteResource(ldfresV);
}
// delete the files
@@ -634,17 +769,24 @@
MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestTypeStyles_v11_Copy1.ldf", true);
MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestTypeStyles_v12_Copy1.ldf", true);
MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestTypeStyles_v13_Copy1.ldf", true);
+ MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestTypeStyles_v23_Copy1.ldf", true);
MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestTypeStyles_v09_Copy2.ldf", true);
MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestTypeStyles_v10_Copy2.ldf", true);
MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestTypeStyles_v11_Copy2.ldf", true);
MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestTypeStyles_v12_Copy2.ldf", true);
MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestTypeStyles_v13_Copy2.ldf", true);
+ MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestTypeStyles_v23_Copy2.ldf", true);
- MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestTypeStyles_v13_Copy3a.ldf", true);
- MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestTypeStyles_v13_Copy3b.ldf", true);
- MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestTypeStyles_v13_Copy3c.ldf", true);
- MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestTypeStyles_v13_Copy3d.ldf", true);
+ MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestTypeStyles_v23_Copy3a.ldf", true);
+ MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestTypeStyles_v23_Copy3b.ldf", true);
+ MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestTypeStyles_v23_Copy3c.ldf", true);
+ MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestTypeStyles_v23_Copy3d.ldf", true);
+ MgFileUtil::DeleteFile(L"../UnitTestFiles/MdfTestTypeStyles_v23_Copy3e.ldf", true);
+
+ // As MapDefinition 1.0.0 doesn't take extension into consideration, if a MDF 2.3 is
+ // stored into 1.0.0, there will be some information missing. So no test code about
+ // version.
}
catch (MgException* e)
{
Added: trunk/MgDev/UnitTest/TestData/MdfModel/MdfTestMap.mdf
===================================================================
--- trunk/MgDev/UnitTest/TestData/MdfModel/MdfTestMap.mdf (rev 0)
+++ trunk/MgDev/UnitTest/TestData/MdfModel/MdfTestMap.mdf 2010-10-18 09:56:22 UTC (rev 5290)
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<MapDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="MapDefinition-2.3.0.xsd" version="2.3.0">
+ <Name>Base Map</Name>
+ <CoordinateSystem>GEOGCS["LL84",DATUM["WGS 84",SPHEROID["WGS 84",6378137,298.25722293287],TOWGS84[0,0,0,0,0,0,0]],PRIMEM["Greenwich",0],UNIT["Degrees",0.01745329252]]</CoordinateSystem>
+ <Extents>
+ <MinX>-87.79786601383196</MinX>
+ <MaxX>-87.66452777186925</MaxX>
+ <MinY>43.6868578621819</MinY>
+ <MaxY>43.8037962206133</MaxY>
+ </Extents>
+ <BackgroundColor>FFF7E1D2</BackgroundColor>
+ <MapLayer>
+ <Name>RoadCenterLines</Name>
+ <ResourceId>Library://UnitTests/Layers/RoadCenterLines.LayerDefinition</ResourceId>
+ <Selectable>false</Selectable>
+ <ShowInLegend>true</ShowInLegend>
+ <LegendLabel>Road CenterLines</LegendLabel>
+ <ExpandInLegend>false</ExpandInLegend>
+ <Visible>true</Visible>
+ <Group></Group>
+ </MapLayer>
+ <BaseMapDefinition>
+ <FiniteDisplayScale>200000</FiniteDisplayScale>
+ <FiniteDisplayScale>100000</FiniteDisplayScale>
+ <FiniteDisplayScale>50000</FiniteDisplayScale>
+ <FiniteDisplayScale>25000</FiniteDisplayScale>
+ <FiniteDisplayScale>12500</FiniteDisplayScale>
+ <FiniteDisplayScale>6250</FiniteDisplayScale>
+ <FiniteDisplayScale>3125</FiniteDisplayScale>
+ <FiniteDisplayScale>1562.5</FiniteDisplayScale>
+ <FiniteDisplayScale>781.25</FiniteDisplayScale>
+ <FiniteDisplayScale>390.625</FiniteDisplayScale>
+ <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>
+ </BaseMapDefinition>
+ <Watermarks>
+ <Watermark>
+ <Name>Watermark example</Name>
+ <ResourceId>Library://UnitTests/Watermark/Text.WatermarkDefinition</ResourceId>
+ </Watermark>
+ </Watermarks>
+</MapDefinition>
Property changes on: trunk/MgDev/UnitTest/TestData/MdfModel/MdfTestMap.mdf
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/MgDev/UnitTest/TestData/MdfModel/MdfTestTypeStyles.ldf
===================================================================
--- trunk/MgDev/UnitTest/TestData/MdfModel/MdfTestTypeStyles.ldf 2010-10-18 07:16:47 UTC (rev 5289)
+++ trunk/MgDev/UnitTest/TestData/MdfModel/MdfTestTypeStyles.ldf 2010-10-18 09:56:22 UTC (rev 5290)
@@ -695,6 +695,12 @@
</ExtendedData1>
</VectorScaleRange>
<ExtendedData1>
+ <Watermarks>
+ <Watermark>
+ <Name>New Watermark Definition</Name>
+ <ResourceId>Library://UnitTests/Watermark/Text.WatermarkDefinition</ResourceId>
+ </Watermark>
+ </Watermarks>
<NewElementA>
<SubElement>DataA</SubElement>
</NewElementA>
More information about the mapguide-commits
mailing list