public void DefaultWalker_TotalCalculation_ShouldMatchMgCookerOriginal() { var mdfId = "Library://Samples/Sheboygan/MapsTiled/Sheboygan.MapDefinition"; var mdf = ObjectFactory.CreateMapDefinition(new Version(1, 0, 0), "Sheboygan"); mdf.ResourceID = mdfId; mdf.InitBaseMap(); var group = mdf.BaseMap.AddBaseLayerGroup("Base Layer Group"); group.Visible = true; foreach (double scale in TileTests.SCALE_LIST.Reverse()) { mdf.BaseMap.AddFiniteDisplayScale(scale); } mdf.SetExtents(-87.764986990962839, 43.691398128787782, -87.695521510899724, 43.797520000480347); var walkOptions = new DefaultTileWalkOptions(mdf); walkOptions.MetersPerUnit = 111319.490793274; var walker = new DefaultTileWalker(walkOptions); var tiles = walker.GetTileList(); Assert.Equal(mdfId, walker.ResourceID); Assert.Equal(127472, tiles.Length); }
public void DefaultWalker_WithCustomBounds_TotalCalculation_ShouldMatchMgCookerOriginal() { var mdfId = "Library://Samples/Sheboygan/MapsTiled/Sheboygan.MapDefinition"; var mdf = ObjectFactory.CreateMapDefinition(new Version(1, 0, 0), "Sheboygan"); mdf.ResourceID = mdfId; mdf.InitBaseMap(); var group = mdf.BaseMap.AddBaseLayerGroup("Base Layer Group"); group.Visible = true; foreach (double scale in TileTests.SCALE_LIST.Reverse()) { mdf.BaseMap.AddFiniteDisplayScale(scale); } mdf.SetExtents(-87.764986990962839, 43.691398128787782, -87.695521510899724, 43.797520000480347); var ovExtents = ObjectFactory.CreateEnvelope(-87.7278601614039, 43.7443959276596, -87.7135994943579, 43.7592852552018); var walkOptions = new DefaultTileWalkOptions(mdf); walkOptions.MetersPerUnit = 111319.490793274; var walker = new DefaultTileWalker(walkOptions); var tiles = walker.GetTileList(); Assert.Equal(mdfId, walker.ResourceID); Assert.Equal(127472, tiles.Length); walkOptions.OverrideExtents = ovExtents; walker = new DefaultTileWalker(walkOptions); tiles = walker.GetTileList(); //I don't know the exact number here, but it should be less than the original and //greater than the bogus amount of 10 tiles Assert.True(tiles.Length < 127472); Assert.True(tiles.Length > 10); }