public void CreateMultiplePlatesFromPyramidsTest() { int levels = 5; string testFolderName = Path.Combine(TestDataPath, "CreateMultiplePlatesFromPyramidsTest", "TestMultiplePlateFolder"); MockClasses.MockMultipleTileLocator tileLocator = new MockClasses.MockMultipleTileLocator(); MultiplePlateFileGenerator target = new MultiplePlateFileGenerator(testFolderName, levels, ImageFormat.Png); target.CreateFromImageTile(tileLocator); WtmlCollection collection = new WtmlCollection("test", "Test.jpeg", "testtexture", levels, ProjectionTypes.Mercator); collection.Save(Path.Combine(TestDataPath, "CreateMultiplePlatesFromPyramidsTest", "CreateMultiplePlatesFromPyramidsTest.wtml")); Assert.IsTrue(Directory.Exists(testFolderName)); Assert.IsTrue(File.Exists(Path.Combine(testFolderName, "L0X0Y0.plate"))); Assert.IsTrue(Directory.Exists(Path.Combine(testFolderName, "2"))); Assert.AreEqual(16, Directory.GetFiles(Path.Combine(testFolderName, "2"), "*.plate").Length); ValidatePyramid(testFolderName, tileLocator, 0, 0, 0); ValidatePyramid(testFolderName, tileLocator, 2, 0, 0); ValidatePyramid(testFolderName, tileLocator, 3, 1, 1); ValidatePyramid(testFolderName, tileLocator, 5, 6, 6); }
/// <summary> /// This function is used to validate the bitmap at specified level, x and y. /// </summary> /// <param name="testFolderName">Plate file folder.</param> /// <param name="tileLocator">Tile Locator.</param> /// <param name="level">Level of tile.</param> /// <param name="x">X coordinate of the tile.</param> /// <param name="y">Y coordinate of the tile.</param> private static void ValidatePyramid(string testFolderName, MockClasses.MockMultipleTileLocator tileLocator, int level, int x, int y) { Stream tileStream = PlateFileHelper.GetTileFromMultiplePlates(level, x, y, testFolderName); Bitmap actual = new Bitmap(tileStream); Bitmap expected = tileLocator.Deserialize(level, x, y); Assert.IsTrue(CompareBitmap(expected, actual)); }