public void CreateMultipleDemPlatesFromPyramidsTest() { int levels = 5; string testFolderName = Path.Combine(TestDataPath, "CreateMultipleDemPlatesFromPyramidsTest", "TestDemMultiplePlateFolder"); MockClasses.MockMultipleDemTileLocator tileLocator = new MockClasses.MockMultipleDemTileLocator(); MultipleDemPlateFileGenerator target = new MultipleDemPlateFileGenerator(testFolderName, levels); target.CreateFromDemTile(tileLocator); WtmlCollection collection = new WtmlCollection("test", "Test.jpeg", "testtexture", levels, ProjectionTypes.Mercator); collection.Save(Path.Combine(TestDataPath, "CreateMultipleDemPlatesFromPyramidsTest", "CreateMultipleDemPlatesFromPyramidsTest.wtml")); Assert.IsTrue(Directory.Exists(testFolderName)); Assert.IsTrue(File.Exists(Path.Combine(testFolderName, "DL0X0Y0.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 void ValidatePyramid(string testFolderName, MockClasses.MockMultipleDemTileLocator tileLocator, int level, int x, int y) { Stream tileStream = PlateFileHelper.GetDEMTileFromMultiplePlates(level, x, y, testFolderName); short[] expected = tileLocator.Deserialize(level, x, y); short[] actual = GetDemTileData(tileStream); Assert.IsTrue(CompareShortArray(expected, actual)); }