Index: Riskeer/DuneErosion/src/Riskeer.DuneErosion.Plugin/DuneErosionPlugin.cs =================================================================== diff -u -r9ba806ad0f1b2004435a67eb6e628ec89618f264 -re399444e4d2e2055f41492880402a8c07e6830c4 --- Riskeer/DuneErosion/src/Riskeer.DuneErosion.Plugin/DuneErosionPlugin.cs (.../DuneErosionPlugin.cs) (revision 9ba806ad0f1b2004435a67eb6e628ec89618f264) +++ Riskeer/DuneErosion/src/Riskeer.DuneErosion.Plugin/DuneErosionPlugin.cs (.../DuneErosionPlugin.cs) (revision e399444e4d2e2055f41492880402a8c07e6830c4) @@ -112,7 +112,7 @@ yield return new TreeNodeInfo { Text = context => RiskeerCommonDataResources.HydraulicBoundaryConditions_DisplayName, - ForeColor = context => context.WrappedData.Any() + ForeColor = context => context.FailureMechanism.DuneLocations.Any() ? Color.FromKnownColor(KnownColor.ControlText) : Color.FromKnownColor(KnownColor.GrayText), Image = context => RiskeerCommonFormsResources.GeneralFolderIcon, @@ -375,10 +375,10 @@ { DuneLocationCalculationsForTargetProbability hydraulicBoundaryLocationCalculationsForTargetProbability = CreateDuneLocationCalculationsForTargetProbability(nodeData.FailureMechanism); - nodeData.FailureMechanism.DuneLocationCalculationsForUserDefinedTargetProbabilities.Add(hydraulicBoundaryLocationCalculationsForTargetProbability); - nodeData.FailureMechanism.DuneLocationCalculationsForUserDefinedTargetProbabilities.NotifyObservers(); + nodeData.WrappedData.Add(hydraulicBoundaryLocationCalculationsForTargetProbability); + nodeData.WrappedData.NotifyObservers(); }); - + return Gui.Get(nodeData, treeViewControl) .AddCustomItem(addTargetProbabilityItem) .AddSeparator() @@ -394,12 +394,12 @@ private static object[] DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContextChildNodeObjects( DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext context) { - if (!context.WrappedData.Any()) + if (!context.FailureMechanism.DuneLocations.Any()) { return Array.Empty(); } - return context.FailureMechanism.DuneLocationCalculationsForUserDefinedTargetProbabilities + return context.WrappedData .Select(dlc => new DuneLocationCalculationsForUserDefinedTargetProbabilityContext(dlc, context.FailureMechanism, context.AssessmentSection)) @@ -416,7 +416,7 @@ hydraulicBoundaryLocationCalculationsForTargetProbability.DuneLocationCalculations.AddRange( failureMechanism.DuneLocations.Select(dl => new DuneLocationCalculation(dl))); - + return hydraulicBoundaryLocationCalculationsForTargetProbability; } Index: Riskeer/DuneErosion/test/Riskeer.DuneErosion.Plugin.Test/TreeNodeInfos/DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContextTreeNodeInfoTest.cs =================================================================== diff -u -r7acad0fffa8ab8be61368d034b41a5bf144c03a2 -re399444e4d2e2055f41492880402a8c07e6830c4 --- Riskeer/DuneErosion/test/Riskeer.DuneErosion.Plugin.Test/TreeNodeInfos/DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContextTreeNodeInfoTest.cs (.../DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContextTreeNodeInfoTest.cs) (revision 7acad0fffa8ab8be61368d034b41a5bf144c03a2) +++ Riskeer/DuneErosion/test/Riskeer.DuneErosion.Plugin.Test/TreeNodeInfos/DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContextTreeNodeInfoTest.cs (.../DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContextTreeNodeInfoTest.cs) (revision e399444e4d2e2055f41492880402a8c07e6830c4) @@ -105,15 +105,14 @@ } [Test] - public void ForeColor_LocationsEmpty_ReturnGrayText() + public void ForeColor_WithoutDuneLocations_ReturnGrayText() { // Setup - var assessmentSection = new AssessmentSectionStub(); - var failureMechanism = new DuneErosionFailureMechanism(); - var locations = new ObservableList(); + var calculationsGroupContext = new DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext( + new ObservableList(), + new DuneErosionFailureMechanism(), + new AssessmentSectionStub()); - var calculationsGroupContext = new DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext(locations, failureMechanism, assessmentSection); - using (var plugin = new DuneErosionPlugin()) { TreeNodeInfo info = GetInfo(plugin); @@ -127,17 +126,20 @@ } [Test] - public void ForeColor_WithLocations_ReturnControlText() + public void ForeColor_WithDuneLocations_ReturnControlText() { // Setup - var assessmentSection = new AssessmentSectionStub(); var failureMechanism = new DuneErosionFailureMechanism(); - var locations = new ObservableList + + failureMechanism.SetDuneLocations(new[] { new TestDuneLocation() - }; + }); - var calculationsGroupContext = new DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext(locations, failureMechanism, assessmentSection); + var calculationsGroupContext = new DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext( + new ObservableList(), + failureMechanism, + new AssessmentSectionStub()); using (var plugin = new DuneErosionPlugin()) { @@ -191,7 +193,7 @@ orderedMockRepository.ReplayAll(); - var nodeData = new DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext(new ObservableList(), + var nodeData = new DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext(new ObservableList(), new DuneErosionFailureMechanism(), assessmentSection); @@ -216,14 +218,14 @@ orderedMockRepository.VerifyAll(); mockRepository.VerifyAll(); } - + [Test] public void ContextMenuStrip_Always_AddCustomItems() { // Setup IAssessmentSection assessmentSection = new AssessmentSectionStub(); var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); - var nodeData = new DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext(new ObservableList(), + var nodeData = new DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext(new ObservableList(), new DuneErosionFailureMechanism(), assessmentSection); @@ -267,30 +269,29 @@ } [Test] - public void ChildNodeObjects_LocationsNotEmpty_ReturnsExpectedChildData() + public void ChildNodeObjects_WithDuneLocations_ReturnsExpectedChildData() { // Setup var assessmentSection = new AssessmentSectionStub(); + var failureMechanism = new DuneErosionFailureMechanism(); + failureMechanism.SetDuneLocations(new[] + { + new TestDuneLocation() + }); + var duneLocationCalculationsForTargetProbability1 = new DuneLocationCalculationsForTargetProbability(); var duneLocationCalculationsForTargetProbability2 = new DuneLocationCalculationsForTargetProbability(); - var failureMechanism = new DuneErosionFailureMechanism + var calculationsForTargetProbabilities = new ObservableList { - DuneLocationCalculationsForUserDefinedTargetProbabilities = - { - duneLocationCalculationsForTargetProbability1, - duneLocationCalculationsForTargetProbability2 - } + duneLocationCalculationsForTargetProbability1, + duneLocationCalculationsForTargetProbability2 }; - var locations = new ObservableList - { - new TestDuneLocation() - }; + var calculationsGroupContext = new DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext( + calculationsForTargetProbabilities, failureMechanism, assessmentSection); - var calculationsGroupContext = new DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext(locations, failureMechanism, assessmentSection); - using (var plugin = new DuneErosionPlugin()) { TreeNodeInfo info = GetInfo(plugin); @@ -315,10 +316,19 @@ } [Test] - public void ChildNodeObjects_LocationsEmpty_ReturnsExpectedChildData() + public void ChildNodeObjects_WithoutDuneLocations_ReturnsExpectedChildData() { // Setup - var calculationsGroupContext = new DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext(new ObservableList(), + var duneLocationCalculationsForTargetProbability1 = new DuneLocationCalculationsForTargetProbability(); + var duneLocationCalculationsForTargetProbability2 = new DuneLocationCalculationsForTargetProbability(); + + var calculationsForTargetProbabilities = new ObservableList + { + duneLocationCalculationsForTargetProbability1, + duneLocationCalculationsForTargetProbability2 + }; + + var calculationsGroupContext = new DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext(calculationsForTargetProbabilities, new DuneErosionFailureMechanism(), new AssessmentSectionStub()); @@ -347,7 +357,7 @@ duneLocation }); - var groupContext = new DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext(new ObservableList(), + var groupContext = new DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext(new ObservableList(), failureMechanism, assessmentSection); @@ -384,7 +394,7 @@ } [Test] - public void ContextMenuStrip_NoDuneLocationsPresent_ContextMenuItemCalculateAllDisabledAndTooltipSet() + public void ContextMenuStrip_WithoutDuneLocations_ContextMenuItemCalculateAllDisabledAndTooltipSet() { // Setup var failureMechanism = new DuneErosionFailureMechanism(); @@ -397,7 +407,7 @@ }; HydraulicBoundaryDatabaseTestHelper.SetHydraulicBoundaryLocationConfigurationSettings(assessmentSection.HydraulicBoundaryDatabase); - var groupContext = new DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext(new ObservableList(), + var groupContext = new DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext(new ObservableList(), failureMechanism, assessmentSection); @@ -467,7 +477,7 @@ duneLocation }); - var groupContext = new DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext(new ObservableList(), + var groupContext = new DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext(failureMechanism.DuneLocationCalculationsForUserDefinedTargetProbabilities, failureMechanism, assessmentSection);