/// <summary> /// Creates a new initialized <see cref="WellKnownTileSourceLayerConfiguration"/>. /// </summary> /// <param name="wellKnownBackgroundMapData">The <see cref="WellKnownTileSourceMapData"/> /// to create the configuration for.</param> /// <returns>A new initialized <see cref="WellKnownTileSourceLayerConfiguration"/>.</returns> /// <exception cref="ConfigurationInitializationException">Thrown when the configuration /// can't connect with the tile service or creating the file cache failed.</exception> private static WellKnownTileSourceLayerConfiguration CreateInitializedConfiguration(WellKnownTileSourceMapData wellKnownBackgroundMapData) { try { return(WellKnownTileSourceLayerConfiguration.CreateInitializedConfiguration(wellKnownBackgroundMapData.TileSource)); } catch (NotSupportedException e) { string tileDisplayName; try { tileDisplayName = TypeUtils.GetDisplayName(wellKnownBackgroundMapData.TileSource); } catch (InvalidEnumArgumentException) { tileDisplayName = wellKnownBackgroundMapData.TileSource.ToString(); } throw new ConfigurationInitializationException( string.Format(Resources.TryCreateInitializedConfiguration_InitializeBackgroundLayer_Connect_to_TileSourceName_0_failed, tileDisplayName), e); } catch (CannotCreateTileCacheException e) { throw new ConfigurationInitializationException( Resources.TryCreateInitializedConfiguration_InitializeBackgroundLayer_Persistent_cache_creation_failed, e); } }
public void CreateInitializedConfiguration_InvalidWellKnownTileSource_ThrowsInvalidEnumArgumentException() { // Setup const int invalidTileSource = 9999; // Call TestDelegate call = () => WellKnownTileSourceLayerConfiguration.CreateInitializedConfiguration((WellKnownTileSource)invalidTileSource); // Assert string expectedMessage = $"The value of argument 'wellKnownTileSource' ({invalidTileSource}) is invalid for Enum type '{nameof(WellKnownTileSource)}'."; string parameterName = TestHelper.AssertThrowsArgumentExceptionAndTestMessage <InvalidEnumArgumentException>(call, expectedMessage).ParamName; Assert.AreEqual("wellKnownTileSource", parameterName); }
public void Initialize_ConfigurationDisposed_ThrowObjectDisposedException() { // Setup using (new UseCustomSettingsHelper(testSettingsHelper)) using (new UseCustomTileSourceFactoryConfig(new WellKnownTileSourceMapData(WellKnownTileSource.BingAerial))) { WellKnownTileSourceLayerConfiguration configuration = WellKnownTileSourceLayerConfiguration.CreateInitializedConfiguration(WellKnownTileSource.BingAerial); configuration.Dispose(); // Call TestDelegate call = () => configuration.Initialize(); // Assert string objectName = Assert.Throws <ObjectDisposedException>(call).ObjectName; Assert.AreEqual("WellKnownTileSourceLayerConfiguration", objectName); } }
public void Initialize_InitializedTrue() { // Setup using (new UseCustomSettingsHelper(testSettingsHelper)) using (new UseCustomTileSourceFactoryConfig(new WellKnownTileSourceMapData(WellKnownTileSource.BingAerial))) using (WellKnownTileSourceLayerConfiguration configuration = WellKnownTileSourceLayerConfiguration.CreateInitializedConfiguration(WellKnownTileSource.BingAerial)) { configuration.GetType() .GetProperty(nameof(configuration.Initialized)) .SetValue(configuration, false, null); // Call configuration.Initialize(); // Assert Assert.IsTrue(configuration.Initialized); } }
public void GivenAllAvailableKnownTileSources_WhenCreatingInitializedConfiguration_ThenConfigurationHasExpectedValues() { // Given using (new UseCustomSettingsHelper(testSettingsHelper)) { foreach (WellKnownTileSource wellKnownTileSource in Enum.GetValues(typeof(WellKnownTileSource))) { using (new UseCustomTileSourceFactoryConfig(new WellKnownTileSourceMapData(wellKnownTileSource))) { // When using (WellKnownTileSourceLayerConfiguration configuration = WellKnownTileSourceLayerConfiguration.CreateInitializedConfiguration(wellKnownTileSource)) { // Then Assert.IsTrue(configuration.Initialized); Assert.IsNotNull(configuration.TileSchema); Assert.IsInstanceOf <AsyncTileFetcher>(configuration.TileFetcher); } } } } }
public void Clone_FromFullyInitializedConfiguration_ReturnInitializedConfiguration() { // Setup const WellKnownTileSource knownTileSource = WellKnownTileSource.BingAerial; using (new UseCustomSettingsHelper(testSettingsHelper)) using (new UseCustomTileSourceFactoryConfig(new WellKnownTileSourceMapData(knownTileSource))) using (WellKnownTileSourceLayerConfiguration configuration = WellKnownTileSourceLayerConfiguration.CreateInitializedConfiguration(knownTileSource)) { // Call using (var clone = (WellKnownTileSourceLayerConfiguration)configuration.Clone()) { // Assert Assert.IsTrue(clone.Initialized); Assert.AreEqual(configuration.TileSchema, clone.TileSchema); Assert.AreEqual(configuration.TileSchema.Name, clone.TileSchema.Name); Assert.AreEqual(configuration.TileSchema.Format, clone.TileSchema.Format); Assert.IsInstanceOf <AsyncTileFetcher>(clone.TileFetcher); } } }