Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/TreeNodeInfos/HydraulicBoundaryDatabaseContextTreeNodeInfoTest.cs =================================================================== diff -u -r2f2f5862ef2f51e6102511cb6c6de57fbaabe554 -r5a1416f5a34737d5fcf1e6d0d077c4f555f33090 --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/TreeNodeInfos/HydraulicBoundaryDatabaseContextTreeNodeInfoTest.cs (.../HydraulicBoundaryDatabaseContextTreeNodeInfoTest.cs) (revision 2f2f5862ef2f51e6102511cb6c6de57fbaabe554) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/TreeNodeInfos/HydraulicBoundaryDatabaseContextTreeNodeInfoTest.cs (.../HydraulicBoundaryDatabaseContextTreeNodeInfoTest.cs) (revision 5a1416f5a34737d5fcf1e6d0d077c4f555f33090) @@ -291,6 +291,12 @@ var hydraulicBoundaryDatabaseContext = new HydraulicBoundaryDatabaseContext(assessmentSection.HydraulicBoundaryDatabase, assessmentSection); + ObservableList hydraulicBoundaryLocations = assessmentSection.HydraulicBoundaryDatabase.Locations; + + assessmentSection.HydraulicBoundaryDatabase.Attach(hydraulicBoundaryDatabaseObserver); + hydraulicBoundaryLocations.Attach(hydraulicBoundaryLocationsObserver); + assessmentSection.GrassCoverErosionOutwards.HydraulicBoundaryLocations.Attach(grassCoverErosionOutwardsLocationsObserver); + using (var treeViewControl = new TreeViewControl()) using (var plugin = new RingtoetsPlugin()) { @@ -305,17 +311,14 @@ gui.Stub(cmp => cmp.Get(hydraulicBoundaryDatabaseContext, treeViewControl)).Return(new CustomItemsOnlyContextMenuBuilder()); mocks.ReplayAll(); - assessmentSection.HydraulicBoundaryDatabase.Attach(hydraulicBoundaryDatabaseObserver); - assessmentSection.HydraulicBoundaryDatabase.Locations.Attach(hydraulicBoundaryLocationsObserver); - assessmentSection.GrassCoverErosionOutwards.HydraulicBoundaryLocations.Attach(grassCoverErosionOutwardsLocationsObserver); - DialogBoxHandler = (name, wnd) => { var tester = new OpenFileDialogTester(wnd); tester.OpenFile(testFile); }; TreeNodeInfo info = GetInfo(plugin); + plugin.Gui = gui; using (ContextMenuStrip contextMenuStrip = info.ContextMenuStrip(hydraulicBoundaryDatabaseContext, null, treeViewControl)) @@ -335,7 +338,18 @@ Assert.IsTrue(assessmentSection.HydraulicBoundaryDatabase.IsLinked()); Assert.AreEqual(testFile, assessmentSection.HydraulicBoundaryDatabase.FilePath); Assert.AreEqual("Dutch coast South19-11-2015 12:0013", assessmentSection.HydraulicBoundaryDatabase.Version); - CollectionAssert.IsNotEmpty(assessmentSection.HydraulicBoundaryDatabase.Locations); + + CollectionAssert.IsNotEmpty(hydraulicBoundaryLocations); + + CollectionAssert.AreEqual(hydraulicBoundaryLocations, assessmentSection.DesignWaterLevelLocationCalculations1.Select(hblc => hblc.HydraulicBoundaryLocation)); + CollectionAssert.AreEqual(hydraulicBoundaryLocations, assessmentSection.DesignWaterLevelLocationCalculations2.Select(hblc => hblc.HydraulicBoundaryLocation)); + CollectionAssert.AreEqual(hydraulicBoundaryLocations, assessmentSection.DesignWaterLevelLocationCalculations3.Select(hblc => hblc.HydraulicBoundaryLocation)); + CollectionAssert.AreEqual(hydraulicBoundaryLocations, assessmentSection.DesignWaterLevelLocationCalculations4.Select(hblc => hblc.HydraulicBoundaryLocation)); + CollectionAssert.AreEqual(hydraulicBoundaryLocations, assessmentSection.WaveHeightLocationCalculations1.Select(hblc => hblc.HydraulicBoundaryLocation)); + CollectionAssert.AreEqual(hydraulicBoundaryLocations, assessmentSection.WaveHeightLocationCalculations2.Select(hblc => hblc.HydraulicBoundaryLocation)); + CollectionAssert.AreEqual(hydraulicBoundaryLocations, assessmentSection.WaveHeightLocationCalculations3.Select(hblc => hblc.HydraulicBoundaryLocation)); + CollectionAssert.AreEqual(hydraulicBoundaryLocations, assessmentSection.WaveHeightLocationCalculations4.Select(hblc => hblc.HydraulicBoundaryLocation)); + CollectionAssert.IsNotEmpty(assessmentSection.GrassCoverErosionOutwards.HydraulicBoundaryLocations); } } @@ -457,20 +471,25 @@ public void GivenDatabaseLinked_WhenOpeningSameFileFromContextMenu_ThenCalculationsWillNotBeClearedAndNoObserversNotified() { // Given - string validFilePath = Path.Combine(testDataPath, "HRD dutch coast south.sqlite"); - var assessmentObserver = mocks.StrictMock(); + var hydraulicBoundaryDatabaseObserver = mocks.StrictMock(); + var hydraulicBoundaryLocationsObserver = mocks.StrictMock(); var grassCoverErosionOutwardsLocationsObserver = mocks.StrictMock(); + string validFilePath = Path.Combine(testDataPath, "HRD dutch coast south.sqlite"); + var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); using (var importer = new HydraulicBoundaryDatabaseImporter()) { importer.Import(assessmentSection, validFilePath); } - assessmentSection.Attach(assessmentObserver); + ObservableList hydraulicBoundaryLocations = assessmentSection.HydraulicBoundaryDatabase.Locations; + assessmentSection.SetHydraulicBoundaryLocationCalculations(hydraulicBoundaryLocations); + assessmentSection.GrassCoverErosionOutwards.SetGrassCoverErosionOutwardsHydraulicBoundaryLocations(assessmentSection.HydraulicBoundaryDatabase.Locations); - var hydraulicBoundaryDatabaseContext = new HydraulicBoundaryDatabaseContext(assessmentSection.HydraulicBoundaryDatabase, - assessmentSection); + assessmentSection.HydraulicBoundaryDatabase.Attach(hydraulicBoundaryDatabaseObserver); + hydraulicBoundaryLocations.Attach(hydraulicBoundaryLocationsObserver); + assessmentSection.GrassCoverErosionOutwards.HydraulicBoundaryLocations.Attach(grassCoverErosionOutwardsLocationsObserver); PipingOutput pipingOutput = PipingOutputTestFactory.Create(); var pipingCalculation = new PipingCalculation(new GeneralPipingInput()) @@ -483,17 +502,26 @@ }; assessmentSection.Piping.CalculationsGroup.Children.Add(pipingCalculation); - assessmentSection.GrassCoverErosionOutwards.SetGrassCoverErosionOutwardsHydraulicBoundaryLocations(assessmentSection.HydraulicBoundaryDatabase.Locations); + var hydraulicBoundaryDatabaseContext = new HydraulicBoundaryDatabaseContext(assessmentSection.HydraulicBoundaryDatabase, + assessmentSection); + // Precondition Assert.IsTrue(assessmentSection.HydraulicBoundaryDatabase.IsLinked()); CollectionAssert.IsNotEmpty(assessmentSection.HydraulicBoundaryDatabase.Locations); string currentFilePath = assessmentSection.HydraulicBoundaryDatabase.FilePath; string currentVersion = assessmentSection.HydraulicBoundaryDatabase.Version; - List currentLocations = assessmentSection.HydraulicBoundaryDatabase.Locations; - HydraulicBoundaryLocation currentFirstGrassCoverErosionOutwardsLocation = assessmentSection.GrassCoverErosionOutwards.HydraulicBoundaryLocations.First(); - assessmentSection.GrassCoverErosionOutwards.HydraulicBoundaryLocations.Attach(grassCoverErosionOutwardsLocationsObserver); + IEnumerable currentHydraulicBoundaryLocations = assessmentSection.HydraulicBoundaryDatabase.Locations.ToList(); + IEnumerable currentDesignWaterLevelLocationCalculations1 = assessmentSection.DesignWaterLevelLocationCalculations1.ToList(); + IEnumerable currentDesignWaterLevelLocationCalculations2 = assessmentSection.DesignWaterLevelLocationCalculations2.ToList(); + IEnumerable currentDesignWaterLevelLocationCalculations3 = assessmentSection.DesignWaterLevelLocationCalculations3.ToList(); + IEnumerable currentDesignWaterLevelLocationCalculations4 = assessmentSection.DesignWaterLevelLocationCalculations4.ToList(); + IEnumerable currentWaveHeightLocationCalculations1 = assessmentSection.WaveHeightLocationCalculations1.ToList(); + IEnumerable currentWaveHeightLocationCalculations2 = assessmentSection.WaveHeightLocationCalculations2.ToList(); + IEnumerable currentWaveHeightLocationCalculations3 = assessmentSection.WaveHeightLocationCalculations3.ToList(); + IEnumerable currentWaveHeightLocationCalculations4 = assessmentSection.WaveHeightLocationCalculations4.ToList(); + IEnumerable currentGrassCoverErosionOutwardsLocations = assessmentSection.GrassCoverErosionOutwards.HydraulicBoundaryLocations.ToList(); using (var treeViewControl = new TreeViewControl()) using (var plugin = new RingtoetsPlugin()) @@ -528,10 +556,18 @@ Assert.IsTrue(assessmentSection.HydraulicBoundaryDatabase.IsLinked()); Assert.AreEqual(currentFilePath, assessmentSection.HydraulicBoundaryDatabase.FilePath); Assert.AreEqual(currentVersion, assessmentSection.HydraulicBoundaryDatabase.Version); - CollectionAssert.AreEqual(currentLocations, assessmentSection.HydraulicBoundaryDatabase.Locations); + CollectionAssert.AreEqual(currentHydraulicBoundaryLocations, assessmentSection.HydraulicBoundaryDatabase.Locations); + CollectionAssert.AreEqual(currentDesignWaterLevelLocationCalculations1, assessmentSection.DesignWaterLevelLocationCalculations1); + CollectionAssert.AreEqual(currentDesignWaterLevelLocationCalculations2, assessmentSection.DesignWaterLevelLocationCalculations2); + CollectionAssert.AreEqual(currentDesignWaterLevelLocationCalculations3, assessmentSection.DesignWaterLevelLocationCalculations3); + CollectionAssert.AreEqual(currentDesignWaterLevelLocationCalculations4, assessmentSection.DesignWaterLevelLocationCalculations4); + CollectionAssert.AreEqual(currentWaveHeightLocationCalculations1, assessmentSection.WaveHeightLocationCalculations1); + CollectionAssert.AreEqual(currentWaveHeightLocationCalculations2, assessmentSection.WaveHeightLocationCalculations2); + CollectionAssert.AreEqual(currentWaveHeightLocationCalculations3, assessmentSection.WaveHeightLocationCalculations3); + CollectionAssert.AreEqual(currentWaveHeightLocationCalculations4, assessmentSection.WaveHeightLocationCalculations4); + CollectionAssert.AreEqual(currentGrassCoverErosionOutwardsLocations, assessmentSection.GrassCoverErosionOutwards.HydraulicBoundaryLocations); Assert.AreSame(assessmentSection.HydraulicBoundaryDatabase.Locations.First(), pipingCalculation.InputParameters.HydraulicBoundaryLocation); Assert.AreSame(pipingOutput, pipingCalculation.Output); - Assert.AreSame(currentFirstGrassCoverErosionOutwardsLocation, assessmentSection.GrassCoverErosionOutwards.HydraulicBoundaryLocations.First()); } }