Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/RingtoetsMapControlTest.cs =================================================================== diff -u -r5d1ba8e775518ad95b38ec59c147d939bca4ee49 -r28e008eb00299c3c5a6a7c825dee3c4dba2f239a --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/RingtoetsMapControlTest.cs (.../RingtoetsMapControlTest.cs) (revision 5d1ba8e775518ad95b38ec59c147d939bca4ee49) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/RingtoetsMapControlTest.cs (.../RingtoetsMapControlTest.cs) (revision 28e008eb00299c3c5a6a7c825dee3c4dba2f239a) @@ -26,6 +26,7 @@ using Core.Common.Base; using Core.Common.Base.Data; using Core.Common.Gui.TestUtil.Settings; +using Core.Common.TestUtil; using Core.Components.BruTile.Configurations; using Core.Components.BruTile.TestUtil; using Core.Components.DotSpatial.Forms; @@ -34,13 +35,34 @@ using Rhino.Mocks; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.TestUtil; +using Ringtoets.Common.Forms.TestUtil; using Ringtoets.Common.Forms.Views; namespace Ringtoets.Common.Forms.Test.Views { [TestFixture] public class RingtoetsMapControlTest { + private DirectoryDisposeHelper directoryDisposeHelper; + private TestSettingsHelper testSettingsHelper; + + [OneTimeSetUp] + public void OneTimeSetUp() + { + testSettingsHelper = new TestSettingsHelper + { + ApplicationLocalUserSettingsDirectory = TestHelper.GetScratchPadPath(nameof(RingtoetsMapControlTest)) + }; + + directoryDisposeHelper = new DirectoryDisposeHelper(TestHelper.GetScratchPadPath(), nameof(RingtoetsMapControlTest)); + } + + [OneTimeTearDown] + public void OneTimeTearDown() + { + directoryDisposeHelper.Dispose(); + } + private static IEnumerable BackgroundTypes { get @@ -75,7 +97,7 @@ var control = new RingtoetsMapControl(); - using (new UseCustomSettingsHelper(new TestSettingsHelper())) + using (new UseCustomSettingsHelper(testSettingsHelper)) using (new UseCustomTileSourceFactoryConfig(mapData)) { // Call @@ -84,18 +106,18 @@ // Assert Assert.AreSame(backgroundData, control.BackgroundData); Assert.IsNotNull(control.BackgroundMapData); - Assert.IsTrue(control.BackgroundMapData is WmtsMapData); + MapDataTestHelper.AssertImageBasedMapData(mapData, control.BackgroundMapData); } } [Test] public void GivenBackgroundData_WhenSetToNull_ThenBackgroundMapDataSetToNull() { // Given - var mapData = WmtsMapData.CreateDefaultPdokMapData(); + WmtsMapData mapData = WmtsMapData.CreateDefaultPdokMapData(); BackgroundData backgroundData = BackgroundDataTestDataGenerator.GetWmtsBackgroundMapData(mapData); - using (new UseCustomSettingsHelper(new TestSettingsHelper())) + using (new UseCustomSettingsHelper(testSettingsHelper)) using (new UseCustomTileSourceFactoryConfig(mapData)) { var control = new RingtoetsMapControl @@ -126,21 +148,16 @@ var tileSourceFactory = mocks.StrictMock(); var testWellKnownTileSource = new TestWellKnownTileSource(new WellKnownTileSourceMapData(WellKnownTileSource.BingAerial)); - if (originalBackgroundData.BackgroundMapDataType == BackgroundMapDataType.WellKnown && newBackgroundData.BackgroundMapDataType == BackgroundMapDataType.Wmts) - { - tileSourceFactory.Expect(tsf => tsf.GetKnownTileSources(KnownTileSource.BingAerial)).Return(testWellKnownTileSource); - tileSourceFactory.Expect(tsf => tsf.GetWmtsTileSources(newBackgroundData.Parameters[BackgroundDataIdentifiers.SourceCapabilitiesUrl])) - .Return(Enumerable.Empty()); - } - else if (originalBackgroundData.BackgroundMapDataType == BackgroundMapDataType.Wmts && newBackgroundData.BackgroundMapDataType == BackgroundMapDataType.WellKnown) - { - tileSourceFactory.Expect(tsf => tsf.GetWmtsTileSources(originalBackgroundData.Parameters[BackgroundDataIdentifiers.SourceCapabilitiesUrl])) - .Return(Enumerable.Empty()); - tileSourceFactory.Expect(tsf => tsf.GetKnownTileSources(KnownTileSource.BingAerial)).Return(testWellKnownTileSource); - } + string sourceCapabilitiesUrl = originalBackgroundData.BackgroundMapDataType == BackgroundMapDataType.Wmts + ? originalBackgroundData.Parameters[BackgroundDataIdentifiers.SourceCapabilitiesUrl] + : newBackgroundData.Parameters[BackgroundDataIdentifiers.SourceCapabilitiesUrl]; + + tileSourceFactory.Expect(tsf => tsf.GetWmtsTileSources(sourceCapabilitiesUrl)) + .Return(Enumerable.Empty()); + tileSourceFactory.Expect(tsf => tsf.GetKnownTileSources(KnownTileSource.BingAerial)).Return(testWellKnownTileSource); mocks.ReplayAll(); - using (new UseCustomSettingsHelper(new TestSettingsHelper())) + using (new UseCustomSettingsHelper(testSettingsHelper)) using (new UseCustomTileSourceFactoryConfig(tileSourceFactory)) { var control = new RingtoetsMapControl @@ -186,7 +203,7 @@ WmtsMapData mapData = WmtsMapData.CreateDefaultPdokMapData(); BackgroundData backgroundData = BackgroundDataTestDataGenerator.GetWmtsBackgroundMapData(mapData); - using (new UseCustomSettingsHelper(new TestSettingsHelper())) + using (new UseCustomSettingsHelper(testSettingsHelper)) using (new UseCustomTileSourceFactoryConfig(mapData)) { var control = new RingtoetsMapControl Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssessmentSectionView.Designer.cs =================================================================== diff -u -r2dfdafcd7e386a80d5e4aa0b0e63649506c3f9e4 -r28e008eb00299c3c5a6a7c825dee3c4dba2f239a --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssessmentSectionView.Designer.cs (.../AssessmentSectionView.Designer.cs) (revision 2dfdafcd7e386a80d5e4aa0b0e63649506c3f9e4) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssessmentSectionView.Designer.cs (.../AssessmentSectionView.Designer.cs) (revision 28e008eb00299c3c5a6a7c825dee3c4dba2f239a) @@ -36,7 +36,7 @@ /// private void InitializeComponent() { - this.mapControl = new Core.Components.DotSpatial.Forms.MapControl(); + this.mapControl = new Common.Forms.Views.RingtoetsMapControl(); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; // // MapView @@ -59,6 +59,6 @@ #endregion - private Core.Components.DotSpatial.Forms.MapControl mapControl; + private Common.Forms.Views.RingtoetsMapControl mapControl; } } Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssessmentSectionView.cs =================================================================== diff -u -r7a4f8ff71ae5f81177fe5ff9cd78fdc7f24c69f4 -r28e008eb00299c3c5a6a7c825dee3c4dba2f239a --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssessmentSectionView.cs (.../AssessmentSectionView.cs) (revision 7a4f8ff71ae5f81177fe5ff9cd78fdc7f24c69f4) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssessmentSectionView.cs (.../AssessmentSectionView.cs) (revision 28e008eb00299c3c5a6a7c825dee3c4dba2f239a) @@ -36,14 +36,11 @@ { private readonly Observer assessmentSectionObserver; private readonly Observer hydraulicBoundaryDatabaseObserver; - private readonly Observer backgroundMapDataObserver; private readonly MapDataCollection mapDataCollection; private readonly MapLineData referenceLineMapData; private readonly MapPointData hydraulicBoundaryLocationsMapData; - private WmtsMapData backgroundMapData; - private IAssessmentSection data; /// @@ -63,7 +60,6 @@ UpdateMapData(); }); hydraulicBoundaryDatabaseObserver = new Observer(UpdateMapData); - backgroundMapDataObserver = new Observer(UpdateBackgroundMapData); mapDataCollection = new MapDataCollection(Resources.AssessmentSectionMap_DisplayName); referenceLineMapData = RingtoetsMapDataFactory.CreateReferenceLineMapData(); @@ -85,21 +81,18 @@ assessmentSectionObserver.Observable = data; hydraulicBoundaryDatabaseObserver.Observable = data?.HydraulicBoundaryDatabase; - backgroundMapDataObserver.Observable = data?.BackgroundData; if (data == null) { Map.Data = null; - Map.BackgroundMapData = null; + mapControl.BackgroundData = null; } else { SetMapDataFeatures(); - backgroundMapData = RingtoetsBackgroundMapDataFactory.CreateBackgroundMapData(data.BackgroundData); - Map.Data = mapDataCollection; - Map.BackgroundMapData = backgroundMapData; + mapControl.BackgroundData = data.BackgroundData; } } } @@ -117,19 +110,13 @@ assessmentSectionObserver.Dispose(); hydraulicBoundaryDatabaseObserver.Dispose(); - if (disposing && (components != null)) + if (disposing) { - components.Dispose(); + components?.Dispose(); } base.Dispose(disposing); } - private void UpdateBackgroundMapData() - { - RingtoetsBackgroundMapDataFactory.UpdateBackgroundMapData(backgroundMapData, data.BackgroundData); - backgroundMapData.NotifyObservers(); - } - private void UpdateMapData() { SetMapDataFeatures(); Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/AssessmentSectionViewTest.cs =================================================================== diff -u -rf9db544ad22552799aaaedc2a154abd8765f7099 -r28e008eb00299c3c5a6a7c825dee3c4dba2f239a --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/AssessmentSectionViewTest.cs (.../AssessmentSectionViewTest.cs) (revision f9db544ad22552799aaaedc2a154abd8765f7099) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/AssessmentSectionViewTest.cs (.../AssessmentSectionViewTest.cs) (revision 28e008eb00299c3c5a6a7c825dee3c4dba2f239a) @@ -109,12 +109,13 @@ using (var view = new AssessmentSectionView()) { + var mapControl = (RingtoetsMapControl) view.Map; + // Call view.Data = assessmentSection; // Assert - ImageBasedMapData expectedWmtsBackgroundMapData = RingtoetsBackgroundMapDataFactory.CreateBackgroundMapData(assessmentSection.BackgroundData); - MapDataTestHelper.AssertImageBasedMapData(expectedWmtsBackgroundMapData, view.Map.BackgroundMapData); + Assert.AreSame(assessmentSection.BackgroundData, mapControl.BackgroundData); } } @@ -127,6 +128,8 @@ Data = new ObservableTestAssessmentSectionStub() }) { + var mapControl = (RingtoetsMapControl) view.Map; + // Precondition Assert.AreEqual(2, view.Map.Data.Collection.Count()); @@ -135,8 +138,9 @@ // Assert Assert.IsNull(view.Data); - Assert.IsNull(view.Map.Data); - Assert.IsNull(view.Map.BackgroundMapData); + Assert.IsNull(mapControl.Data); + Assert.IsNull(mapControl.BackgroundData); + Assert.IsNull(mapControl.BackgroundMapData); } }