[mapguide-commits] r8493 - in trunk/MgDev/UnitTest/WebTier: DotNet/TestCommon DotNet/TestMapGuideApi DotNet/TestMapGuideApi/ExternalTests Java/src/org/osgeo/mapguide/test Java/src/org/osgeo/mapguide/test/mapguide
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Tue Jan 6 04:46:43 PST 2015
Author: jng
Date: 2015-01-06 04:46:43 -0800 (Tue, 06 Jan 2015)
New Revision: 8493
Added:
trunk/MgDev/UnitTest/WebTier/DotNet/TestMapGuideApi/ExternalTests/RenderingServiceTests.cs
trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/mapguide/RenderingServiceTest.java
Modified:
trunk/MgDev/UnitTest/WebTier/DotNet/TestCommon/Assert.cs
trunk/MgDev/UnitTest/WebTier/DotNet/TestMapGuideApi/TestMapGuideApi.csproj
trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/MapGuideTests.java
Log:
Add .net and Java tests to exercise all variants of RenderTile and RenderTileXYZ just for peace of mind.
Modified: trunk/MgDev/UnitTest/WebTier/DotNet/TestCommon/Assert.cs
===================================================================
--- trunk/MgDev/UnitTest/WebTier/DotNet/TestCommon/Assert.cs 2015-01-06 12:45:48 UTC (rev 8492)
+++ trunk/MgDev/UnitTest/WebTier/DotNet/TestCommon/Assert.cs 2015-01-06 12:46:43 UTC (rev 8493)
@@ -56,6 +56,12 @@
throw new AssertException("Reference is not null");
}
+ public static void IsNotNull(object obj)
+ {
+ if (obj == null)
+ throw new AssertException("Reference is null");
+ }
+
public static void IsTrue(bool condition)
{
if (!condition)
Added: trunk/MgDev/UnitTest/WebTier/DotNet/TestMapGuideApi/ExternalTests/RenderingServiceTests.cs
===================================================================
--- trunk/MgDev/UnitTest/WebTier/DotNet/TestMapGuideApi/ExternalTests/RenderingServiceTests.cs (rev 0)
+++ trunk/MgDev/UnitTest/WebTier/DotNet/TestMapGuideApi/ExternalTests/RenderingServiceTests.cs 2015-01-06 12:46:43 UTC (rev 8493)
@@ -0,0 +1,127 @@
+using OSGeo.MapGuide.Test.Common;
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Drawing.Imaging;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OSGeo.MapGuide.Test.Web.ExternalTests
+{
+ public class RenderTileTest : IExternalTest
+ {
+ private static void LoadResource(MgResourceService resSvc, string resIdStr, string path)
+ {
+ MgResourceIdentifier resId = new MgResourceIdentifier(resIdStr);
+ MgByteSource bs = new MgByteSource(path);
+ MgByteReader br = bs.GetReader();
+ resSvc.SetResource(resId, br, null);
+ }
+
+ private static void LoadResourceData(MgResourceService resSvc, string resIdStr, string dataName, string dataType, string path)
+ {
+ MgResourceIdentifier resId = new MgResourceIdentifier(resIdStr);
+ MgByteSource bs = new MgByteSource(path);
+ MgByteReader br = bs.GetReader();
+ resSvc.SetResourceData(resId, dataName, dataType, br);
+ }
+
+ public void Execute(IPlatformFactory factory, ITestLogger logger)
+ {
+ var resSvc = (MgResourceService)factory.CreateService(MgServiceType.ResourceService);
+ var renderSvc = (MgRenderingService)factory.CreateService(MgServiceType.RenderingService);
+ var root = "../../TestData/TileService/";
+
+ LoadResource(resSvc, "Library://UnitTests/Data/RoadCenterLines.FeatureSource", root + "UT_RoadCenterLines.fs");
+ LoadResourceData(resSvc, "Library://UnitTests/Data/RoadCenterLines.FeatureSource", "UT_RoadCenterLines.sdf", MgResourceDataType.File, root + "UT_RoadCenterLines.sdf");
+ LoadResource(resSvc, "Library://UnitTests/Layers/RoadCenterLines.LayerDefinition", root + "UT_RoadCenterLines.ldf");
+
+ LoadResource(resSvc, "Library://UnitTests/Data/VotingDistricts.FeatureSource", root + "UT_VotingDistricts.fs");
+ LoadResourceData(resSvc, "Library://UnitTests/Data/VotingDistricts.FeatureSource", "UT_VotingDistricts.sdf", MgResourceDataType.File, root + "UT_VotingDistricts.sdf");
+ LoadResource(resSvc, "Library://UnitTests/Layers/VotingDistricts.LayerDefinition", root + "UT_VotingDistricts.ldf");
+
+ LoadResource(resSvc, "Library://UnitTests/Data/Parcels.FeatureSource", root + "UT_Parcels.fs");
+ LoadResourceData(resSvc, "Library://UnitTests/Data/Parcels.FeatureSource", "UT_Parcels.sdf", MgResourceDataType.File, root + "UT_Parcels.sdf");
+ LoadResource(resSvc, "Library://UnitTests/Layers/Parcels.LayerDefinition", root + "UT_Parcels.ldf");
+
+ LoadResource(resSvc, "Library://UnitTests/Maps/BaseMap.MapDefinition", root + "UT_BaseMap.mdf");
+
+ var map = (MgMap)factory.CreateMap(new MgResourceIdentifier("Library://UnitTests/Maps/BaseMap.MapDefinition"));
+ var img = renderSvc.RenderTile(map, "BaseLayers", 0, 0);
+ CheckValidImage(img);
+ img = renderSvc.RenderTile(map, "BaseLayers", 0, 0, 256, 256, 96, MgImageFormats.Png);
+ CheckValidImage(img, 256, 256, MgImageFormats.Png);
+ img = renderSvc.RenderTile(map, "BaseLayers", 0, 0, 256, 256, 96, MgImageFormats.Gif);
+ CheckValidImage(img, 256, 256, MgImageFormats.Gif);
+ img = renderSvc.RenderTile(map, "BaseLayers", 0, 0, 256, 256, 96, MgImageFormats.Jpeg);
+ CheckValidImage(img, 256, 256, MgImageFormats.Jpeg);
+ img = renderSvc.RenderTile(map, "BaseLayers", 0, 0, 256, 256, 96, MgImageFormats.Png8);
+ CheckValidImage(img, 256, 256, MgImageFormats.Png8);
+ img = renderSvc.RenderTileXYZ(map, "BaseLayers", 2099, 2985, 13);
+ CheckValidImage(img, 256, 256);
+ img = renderSvc.RenderTileXYZ(map, "BaseLayers", 2099, 2985, 13, 96, MgImageFormats.Png);
+ CheckValidImage(img, 256, 256, MgImageFormats.Png);
+ img = renderSvc.RenderTileXYZ(map, "BaseLayers", 2099, 2985, 13, 96, MgImageFormats.Png8);
+ CheckValidImage(img, 256, 256, MgImageFormats.Png8);
+ img = renderSvc.RenderTileXYZ(map, "BaseLayers", 2099, 2985, 13, 96, MgImageFormats.Gif);
+ CheckValidImage(img, 256, 256, MgImageFormats.Gif);
+ img = renderSvc.RenderTileXYZ(map, "BaseLayers", 2099, 2985, 13, 96, MgImageFormats.Jpeg);
+ CheckValidImage(img, 256, 256, MgImageFormats.Jpeg);
+ }
+
+ private void CheckValidImage(MgByteReader img, int? imageWidth = null, int? imageHeight = null, string format = null)
+ {
+ try
+ {
+ MgByteSink sink = new MgByteSink(img);
+ sink.ToFile("tile.img");
+ using (Image image = Image.FromFile("tile.img"))
+ {
+ Assert.IsNotNull(image);
+ if (imageWidth != null)
+ Assert.Equals(image.Width, imageWidth.Value);
+ if (imageHeight != null)
+ Assert.Equals(image.Height, imageHeight.Value);
+
+ if (format != null)
+ {
+ switch(format)
+ {
+ case MgImageFormats.Gif:
+ Assert.Equals(image.RawFormat, ImageFormat.Gif);
+ break;
+ case MgImageFormats.Jpeg:
+ Assert.Equals(image.RawFormat, ImageFormat.Jpeg);
+ break;
+ case MgImageFormats.Png:
+ case MgImageFormats.Png8:
+ Assert.Equals(image.RawFormat, ImageFormat.Png);
+ break;
+ case MgImageFormats.Tiff:
+ Assert.Equals(image.RawFormat, ImageFormat.Tiff);
+ break;
+ }
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ throw new AssertException("Invalid image found: " + ex.Message);
+ }
+ finally
+ {
+ if (File.Exists("tile.img"))
+ {
+ try
+ {
+ File.Delete("tile.img");
+ }
+ catch { }
+ }
+ }
+ }
+ }
+
+}
Modified: trunk/MgDev/UnitTest/WebTier/DotNet/TestMapGuideApi/TestMapGuideApi.csproj
===================================================================
--- trunk/MgDev/UnitTest/WebTier/DotNet/TestMapGuideApi/TestMapGuideApi.csproj 2015-01-06 12:45:48 UTC (rev 8492)
+++ trunk/MgDev/UnitTest/WebTier/DotNet/TestMapGuideApi/TestMapGuideApi.csproj 2015-01-06 12:46:43 UTC (rev 8493)
@@ -70,6 +70,7 @@
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
+ <Reference Include="System.Drawing" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
@@ -80,6 +81,7 @@
<Compile Include="DrawingService\DrawingServiceOperationExecutor.cs" />
<Compile Include="DrawingService\Operations.cs" />
<Compile Include="ExternalTests\CollectionTests.cs" />
+ <Compile Include="ExternalTests\RenderingServiceTests.cs" />
<Compile Include="ExternalTests\ResourceServiceTests.cs" />
<Compile Include="MapGuideTests.cs" />
<Compile Include="MappingService\MappingServiceOperationExecutor.cs" />
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 2015-01-06 12:45:48 UTC (rev 8492)
+++ trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/MapGuideTests.java 2015-01-06 12:46:43 UTC (rev 8493)
@@ -14,6 +14,7 @@
//--------------- BEGIN Test Registration -----------------//
tests.add(new ReadOnlyLayerCollectionTest());
+ tests.add(new RenderingServiceTest());
//--------------- END Test Registration -------------------//
for (IExternalTest test : tests)
Added: trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/mapguide/RenderingServiceTest.java
===================================================================
--- trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/mapguide/RenderingServiceTest.java (rev 0)
+++ trunk/MgDev/UnitTest/WebTier/Java/src/org/osgeo/mapguide/test/mapguide/RenderingServiceTest.java 2015-01-06 12:46:43 UTC (rev 8493)
@@ -0,0 +1,86 @@
+package org.osgeo.mapguide.test.mapguide;
+
+import java.io.*;
+import java.nio.file.*;
+import java.util.*;
+import org.osgeo.mapguide.*;
+import org.osgeo.mapguide.test.common.*;
+
+public class RenderingServiceTest implements IExternalTest
+{
+ private static void LoadResource(MgResourceService resSvc, String resIdStr, String path)
+ {
+ MgResourceIdentifier resId = new MgResourceIdentifier(resIdStr);
+ MgByteSource bs = new MgByteSource(path);
+ MgByteReader br = bs.getReader();
+ resSvc.setResource(resId, br, null);
+ }
+
+ private static void LoadResourceData(MgResourceService resSvc, String resIdStr, String dataName, String dataType, String path)
+ {
+ MgResourceIdentifier resId = new MgResourceIdentifier(resIdStr);
+ MgByteSource bs = new MgByteSource(path);
+ MgByteReader br = bs.getReader();
+ resSvc.setResourceData(resId, dataName, dataType, br);
+ }
+
+ public void Execute(IPlatformFactory factory, ITestLogger logger)
+ {
+ MgResourceService resSvc = (MgResourceService)factory.createService(MgServiceType.ResourceService);
+ MgRenderingService renderSvc = (MgRenderingService)factory.createService(MgServiceType.RenderingService);
+ String root = "../../TestData/TileService/";
+
+ LoadResource(resSvc, "Library://UnitTests/Data/RoadCenterLines.FeatureSource", root + "UT_RoadCenterLines.fs");
+ LoadResourceData(resSvc, "Library://UnitTests/Data/RoadCenterLines.FeatureSource", "UT_RoadCenterLines.sdf", MgResourceDataType.File, root + "UT_RoadCenterLines.sdf");
+ LoadResource(resSvc, "Library://UnitTests/Layers/RoadCenterLines.LayerDefinition", root + "UT_RoadCenterLines.ldf");
+
+ LoadResource(resSvc, "Library://UnitTests/Data/VotingDistricts.FeatureSource", root + "UT_VotingDistricts.fs");
+ LoadResourceData(resSvc, "Library://UnitTests/Data/VotingDistricts.FeatureSource", "UT_VotingDistricts.sdf", MgResourceDataType.File, root + "UT_VotingDistricts.sdf");
+ LoadResource(resSvc, "Library://UnitTests/Layers/VotingDistricts.LayerDefinition", root + "UT_VotingDistricts.ldf");
+
+ LoadResource(resSvc, "Library://UnitTests/Data/Parcels.FeatureSource", root + "UT_Parcels.fs");
+ LoadResourceData(resSvc, "Library://UnitTests/Data/Parcels.FeatureSource", "UT_Parcels.sdf", MgResourceDataType.File, root + "UT_Parcels.sdf");
+ LoadResource(resSvc, "Library://UnitTests/Layers/Parcels.LayerDefinition", root + "UT_Parcels.ldf");
+
+ LoadResource(resSvc, "Library://UnitTests/Maps/BaseMap.MapDefinition", root + "UT_BaseMap.mdf");
+
+ MgMap map = (MgMap)factory.createMap();
+ map.create(new MgResourceIdentifier("Library://UnitTests/Maps/BaseMap.MapDefinition"), "BaseMap");
+ MgByteReader img = renderSvc.renderTile(map, "BaseLayers", 0, 0);
+ CheckValidImage(img);
+ img = renderSvc.renderTile(map, "BaseLayers", 0, 0, 256, 256, 96, MgImageFormats.Png);
+ CheckValidImage(img); //, 256, 256, MgImageFormats.Png);
+ img = renderSvc.renderTile(map, "BaseLayers", 0, 0, 256, 256, 96, MgImageFormats.Gif);
+ CheckValidImage(img); //, 256, 256, MgImageFormats.Gif);
+ img = renderSvc.renderTile(map, "BaseLayers", 0, 0, 256, 256, 96, MgImageFormats.Jpeg);
+ CheckValidImage(img); //, 256, 256, MgImageFormats.Jpeg);
+ img = renderSvc.renderTile(map, "BaseLayers", 0, 0, 256, 256, 96, MgImageFormats.Png8);
+ CheckValidImage(img); //, 256, 256, MgImageFormats.Png8);
+ img = renderSvc.renderTileXYZ(map, "BaseLayers", 2099, 2985, 13);
+ CheckValidImage(img); //, 256, 256);
+ img = renderSvc.renderTileXYZ(map, "BaseLayers", 2099, 2985, 13, 96, MgImageFormats.Png);
+ CheckValidImage(img); //, 256, 256, MgImageFormats.Png);
+ img = renderSvc.renderTileXYZ(map, "BaseLayers", 2099, 2985, 13, 96, MgImageFormats.Png8);
+ CheckValidImage(img); //, 256, 256, MgImageFormats.Png8);
+ img = renderSvc.renderTileXYZ(map, "BaseLayers", 2099, 2985, 13, 96, MgImageFormats.Gif);
+ CheckValidImage(img); //, 256, 256, MgImageFormats.Gif);
+ img = renderSvc.renderTileXYZ(map, "BaseLayers", 2099, 2985, 13, 96, MgImageFormats.Jpeg);
+ CheckValidImage(img); //, 256, 256, MgImageFormats.Jpeg);
+ }
+
+ private void CheckValidImage(MgByteReader img)
+ {
+ try
+ {
+ MgByteSink sink = new MgByteSink(img);
+ sink.toFile("tile.img");
+ File f = new File("tile.img");
+ Assert.IsTrue(f.exists());
+ Assert.IsTrue(f.length() > 0);
+ }
+ catch (Exception ex)
+ {
+ throw new AssertException("Invalid image found: " + ex.getMessage());
+ }
+ }
+}
\ No newline at end of file
More information about the mapguide-commits
mailing list