Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Factories/RingtoetsStackChartDataFactory.cs =================================================================== diff -u -rf288f9ccb9ac465f017170a59279909d8431fdc7 -rb2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb --- Ringtoets/Common/src/Ringtoets.Common.Forms/Factories/RingtoetsStackChartDataFactory.cs (.../RingtoetsStackChartDataFactory.cs) (revision f288f9ccb9ac465f017170a59279909d8431fdc7) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Factories/RingtoetsStackChartDataFactory.cs (.../RingtoetsStackChartDataFactory.cs) (revision b2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb) @@ -24,6 +24,7 @@ using System.Drawing; using System.Linq; using Core.Common.Base.Data; +using Core.Common.Utils.Extensions; using Core.Components.Stack.Data; using Ringtoets.Common.Forms.Helpers; using Ringtoets.Common.Forms.Properties; @@ -69,7 +70,7 @@ illustrationPointControlItems.Select(controlItem => Tuple.Create(controlItem.WindDirectionName, controlItem.ClosingSituation)); - bool showClosingSituation = !IllustrationPointControlItemHelper.AreClosingSituationsSame(illustrationPointControlItems); + bool showClosingSituation = !illustrationPointControlItems.AnyNonDistinct(item => item.ClosingSituation); foreach (Tuple label in labels) { Fisheye: Tag b2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb refers to a dead (removed) revision in file `Ringtoets/Common/src/Ringtoets.Common.Forms/Helpers/IllustrationPointControlItemHelper.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/StructuresOutputProperties.cs =================================================================== diff -u -r5a4e3ce4a8088c1fbb043a029f8081abb4cf1021 -rb2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb --- Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/StructuresOutputProperties.cs (.../StructuresOutputProperties.cs) (revision 5a4e3ce4a8088c1fbb043a029f8081abb4cf1021) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/StructuresOutputProperties.cs (.../StructuresOutputProperties.cs) (revision b2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb) @@ -20,14 +20,14 @@ // All rights reserved. using System; -using System.Collections.Generic; using System.ComponentModel; using System.Linq; using Core.Common.Base.Data; using Core.Common.Gui.Attributes; using Core.Common.Gui.Converters; using Core.Common.Gui.PropertyBag; using Core.Common.Utils.Attributes; +using Core.Common.Utils.Extensions; using Ringtoets.Common.Data.IllustrationPoints; using Ringtoets.Common.Data.Structures; using Ringtoets.Common.Forms.Helpers; @@ -109,15 +109,15 @@ return new TopLevelFaultTreeIllustrationPointProperties[0]; } - IEnumerable listOfClosingSituations = data.GeneralResult - .TopLevelIllustrationPoints - .Select(point => point.ClosingSituation); + bool areClosingSituationsSame = data.GeneralResult + .TopLevelIllustrationPoints + .AnyNonDistinct(p => p.ClosingSituation); return data.GeneralResult .TopLevelIllustrationPoints .Select(point => new TopLevelFaultTreeIllustrationPointProperties( - point, listOfClosingSituations)).ToArray(); + point, areClosingSituationsSame)).ToArray(); } } Index: Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/TopLevelFaultTreeIllustrationPointProperties.cs =================================================================== diff -u -r5a4e3ce4a8088c1fbb043a029f8081abb4cf1021 -rb2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb --- Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/TopLevelFaultTreeIllustrationPointProperties.cs (.../TopLevelFaultTreeIllustrationPointProperties.cs) (revision 5a4e3ce4a8088c1fbb043a029f8081abb4cf1021) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/TopLevelFaultTreeIllustrationPointProperties.cs (.../TopLevelFaultTreeIllustrationPointProperties.cs) (revision b2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb) @@ -47,21 +47,18 @@ /// Creates a new instance of . /// /// The data to use for the properties. - /// All closing situations in the tree. - /// Thrown when any input parameter is null. - public TopLevelFaultTreeIllustrationPointProperties( - TopLevelFaultTreeIllustrationPoint faultTreeData, IEnumerable allClosingSituations) + /// Defines if all closing situations in the tree are the same. + /// Thrown when is null. + public TopLevelFaultTreeIllustrationPointProperties(TopLevelFaultTreeIllustrationPoint faultTreeData, + bool areClosingSituationsSame) { if (faultTreeData == null) { throw new ArgumentNullException(nameof(faultTreeData)); } - if (allClosingSituations == null) - { - throw new ArgumentNullException(nameof(allClosingSituations)); - } + data = faultTreeData; - areClosingSituationsSame = allClosingSituations.Distinct().Count() < 2; + this.areClosingSituationsSame = areClosingSituationsSame; } [ResourcesCategory(typeof(Resources), nameof(Resources.Categories_IllustrationPoints))] Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj =================================================================== diff -u -r09657885dd6a95975a8e117f8b8c570cd84a2523 -rb2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb --- Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision 09657885dd6a95975a8e117f8b8c570cd84a2523) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision b2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb) @@ -60,7 +60,6 @@ - Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Views/GeneralResultFaultTreeIllustrationPointView.cs =================================================================== diff -u -ra9b29f48534f9e3e2ab82dce7b81cfe13df515e2 -rb2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb --- Ringtoets/Common/src/Ringtoets.Common.Forms/Views/GeneralResultFaultTreeIllustrationPointView.cs (.../GeneralResultFaultTreeIllustrationPointView.cs) (revision a9b29f48534f9e3e2ab82dce7b81cfe13df515e2) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Views/GeneralResultFaultTreeIllustrationPointView.cs (.../GeneralResultFaultTreeIllustrationPointView.cs) (revision b2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb) @@ -25,6 +25,7 @@ using System.Windows.Forms; using Core.Common.Base; using Core.Common.Controls.Views; +using Core.Common.Utils.Extensions; using Ringtoets.Common.Data.Calculation; using Ringtoets.Common.Data.IllustrationPoints; using Ringtoets.Common.Forms.PresentationObjects; @@ -127,9 +128,7 @@ } bool areClosingSituationsSame = generalResult.TopLevelIllustrationPoints - .Select(point => point.ClosingSituation) - .Distinct() - .Count() < 2; + .AnyNonDistinct(p => p.ClosingSituation); Selection = new IllustrationPointNodeContext(selection, topLevelFaultTreeIllustrationPoint.WindDirection.Name, Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Views/IllustrationPointsTableControl.cs =================================================================== diff -u -r304e242143c13dbe48d1c5d36ed3f8721ad85f60 -rb2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb --- Ringtoets/Common/src/Ringtoets.Common.Forms/Views/IllustrationPointsTableControl.cs (.../IllustrationPointsTableControl.cs) (revision 304e242143c13dbe48d1c5d36ed3f8721ad85f60) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Views/IllustrationPointsTableControl.cs (.../IllustrationPointsTableControl.cs) (revision b2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb) @@ -24,7 +24,7 @@ using System.Linq; using System.Windows.Forms; using Core.Common.Controls.Views; -using Ringtoets.Common.Forms.Helpers; +using Core.Common.Utils.Extensions; using Ringtoets.Common.Forms.Properties; namespace Ringtoets.Common.Forms.Views @@ -94,7 +94,7 @@ { if (data != null) { - if (!IllustrationPointControlItemHelper.AreClosingSituationsSame(data)) + if (!data.AnyNonDistinct(item => item.ClosingSituation)) { illustrationPointsDataGridViewControl.SetColumnVisibility(closingSituationColumnIndex, true); return; Fisheye: Tag b2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb refers to a dead (removed) revision in file `Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Helpers/IllustrationPointControlItemHelperTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/TopLevelFaultTreeIllustrationPointPropertiesTest.cs =================================================================== diff -u -r57b198a3f80256e02b871d8de11c05d9f2dcf311 -rb2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/TopLevelFaultTreeIllustrationPointPropertiesTest.cs (.../TopLevelFaultTreeIllustrationPointPropertiesTest.cs) (revision 57b198a3f80256e02b871d8de11c05d9f2dcf311) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/TopLevelFaultTreeIllustrationPointPropertiesTest.cs (.../TopLevelFaultTreeIllustrationPointPropertiesTest.cs) (revision b2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb) @@ -46,38 +46,22 @@ [Test] public void Constructor_FaultTreeNull_ThrowsArgumentNullException() { - // Call - TestDelegate test = () => new TopLevelFaultTreeIllustrationPointProperties(null, new[] - { - "closing situation" - }); - - // Assert - string paramName = Assert.Throws(test).ParamName; - Assert.AreEqual("faultTreeData", paramName); - } - - [Test] - public void Constructor_ClosingSituationsNull_ThrowsArgumentNullException() - { // Setup - var topLevel = new TopLevelFaultTreeIllustrationPoint( - new WindDirection("N", 5.0), - "closing situation", - new IllustrationPointNode(new TestFaultTreeIllustrationPoint())); + var random = new Random(31); // Call - TestDelegate test = () => new TopLevelFaultTreeIllustrationPointProperties(topLevel, null); + TestDelegate test = () => new TopLevelFaultTreeIllustrationPointProperties(null, random.NextBoolean()); // Assert string paramName = Assert.Throws(test).ParamName; - Assert.AreEqual("allClosingSituations", paramName); + Assert.AreEqual("faultTreeData", paramName); } [Test] public void Constructor_FaultTreeIllustrationPoint_CorrectValues() { // Setup + var random = new Random(31); var topLevel = new TopLevelFaultTreeIllustrationPoint( new WindDirection("N", 5.0), "closing situation", @@ -96,10 +80,7 @@ }); // Call - var faultTree = new TopLevelFaultTreeIllustrationPointProperties(topLevel, new[] - { - "closing situation" - }); + var faultTree = new TopLevelFaultTreeIllustrationPointProperties(topLevel, random.NextBoolean()); // Assert Assert.AreEqual("N", faultTree.WindDirection); @@ -143,10 +124,7 @@ new IllustrationPointNode(new TestFaultTreeIllustrationPoint())); // Call - var topLevelFaultTree = new TopLevelFaultTreeIllustrationPointProperties(topLevel, new[] - { - "closing situation" - }); + var topLevelFaultTree = new TopLevelFaultTreeIllustrationPointProperties(topLevel, true); // Assert const string illustrationPointsCategoryName = "Illustratiepunten"; @@ -207,11 +185,7 @@ new IllustrationPointNode(new TestFaultTreeIllustrationPoint())); // Call - var topLevelFaultTree = new TopLevelFaultTreeIllustrationPointProperties(topLevel, new[] - { - "closing situation", - "closing situation 2" - }); + var topLevelFaultTree = new TopLevelFaultTreeIllustrationPointProperties(topLevel, false); // Assert const string illustrationPointsCategoryName = "Illustratiepunten"; @@ -273,12 +247,13 @@ public void ToString_CorrectValue_ReturnsCorrectString() { // Setup + var random = new Random(31); var topLevelFaultTreeIllustrationPoint = new TopLevelFaultTreeIllustrationPoint( new WindDirection("N", 5.0), "closing situation", new IllustrationPointNode(new TestFaultTreeIllustrationPoint())); - var topLevelFaultTreeProperties = new TopLevelFaultTreeIllustrationPointProperties(topLevelFaultTreeIllustrationPoint, new string[0]); + var topLevelFaultTreeProperties = new TopLevelFaultTreeIllustrationPointProperties(topLevelFaultTreeIllustrationPoint, random.NextBoolean()); // Call string toString = topLevelFaultTreeProperties.ToString(); Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj =================================================================== diff -u -ra1fa1538918813373bcc864f0bce092bf28fd0ce -rb2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj (.../Ringtoets.Common.Forms.Test.csproj) (revision a1fa1538918813373bcc864f0bce092bf28fd0ce) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj (.../Ringtoets.Common.Forms.Test.csproj) (revision b2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb) @@ -88,7 +88,6 @@ - Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/DikeHeightOutputProperties.cs =================================================================== diff -u -rf3bce3ba367d1cc9148424e214d42fd5792d49aa -rb2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/DikeHeightOutputProperties.cs (.../DikeHeightOutputProperties.cs) (revision f3bce3ba367d1cc9148424e214d42fd5792d49aa) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/DikeHeightOutputProperties.cs (.../DikeHeightOutputProperties.cs) (revision b2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb) @@ -20,7 +20,6 @@ // All rights reserved. using System; -using System.Collections.Generic; using System.ComponentModel; using System.Linq; using Core.Common.Base.Data; @@ -29,6 +28,7 @@ using Core.Common.Gui.PropertyBag; using Core.Common.Utils; using Core.Common.Utils.Attributes; +using Core.Common.Utils.Extensions; using Ringtoets.Common.Data.Hydraulics; using Ringtoets.Common.Data.IllustrationPoints; using Ringtoets.Common.Forms.PropertyClasses; @@ -189,15 +189,15 @@ return new TopLevelFaultTreeIllustrationPointProperties[0]; } - IEnumerable listOfClosingSituations = data.GeneralResult - .TopLevelIllustrationPoints - .Select(point => point.ClosingSituation); + bool areClosingSituationsSame = data.GeneralResult + .TopLevelIllustrationPoints + .AnyNonDistinct(p => p.ClosingSituation); return data.GeneralResult .TopLevelIllustrationPoints .Select(point => new TopLevelFaultTreeIllustrationPointProperties( - point, listOfClosingSituations)).ToArray(); + point, areClosingSituationsSame)).ToArray(); } } Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/OvertoppingOutputProperties.cs =================================================================== diff -u -rf3bce3ba367d1cc9148424e214d42fd5792d49aa -rb2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/OvertoppingOutputProperties.cs (.../OvertoppingOutputProperties.cs) (revision f3bce3ba367d1cc9148424e214d42fd5792d49aa) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/OvertoppingOutputProperties.cs (.../OvertoppingOutputProperties.cs) (revision b2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb) @@ -20,14 +20,14 @@ // All rights reserved. using System; -using System.Collections.Generic; using System.ComponentModel; using System.Linq; using Core.Common.Base.Data; using Core.Common.Gui.Attributes; using Core.Common.Gui.Converters; using Core.Common.Gui.PropertyBag; using Core.Common.Utils.Attributes; +using Core.Common.Utils.Extensions; using Ringtoets.Common.Data.IllustrationPoints; using Ringtoets.Common.Forms.Helpers; using Ringtoets.Common.Forms.PropertyClasses; @@ -196,15 +196,15 @@ return new TopLevelFaultTreeIllustrationPointProperties[0]; } - IEnumerable listOfClosingSituations = data.GeneralResult - .TopLevelIllustrationPoints - .Select(point => point.ClosingSituation); + bool areClosingSituationsSame = data.GeneralResult + .TopLevelIllustrationPoints + .AnyNonDistinct(p => p.ClosingSituation); return data.GeneralResult .TopLevelIllustrationPoints .Select(point => new TopLevelFaultTreeIllustrationPointProperties( - point, listOfClosingSituations)).ToArray(); + point, areClosingSituationsSame)).ToArray(); } } Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/OvertoppingRateOutputProperties.cs =================================================================== diff -u -rf3bce3ba367d1cc9148424e214d42fd5792d49aa -rb2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/OvertoppingRateOutputProperties.cs (.../OvertoppingRateOutputProperties.cs) (revision f3bce3ba367d1cc9148424e214d42fd5792d49aa) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/OvertoppingRateOutputProperties.cs (.../OvertoppingRateOutputProperties.cs) (revision b2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb) @@ -20,7 +20,6 @@ // All rights reserved. using System; -using System.Collections.Generic; using System.ComponentModel; using System.Linq; using Core.Common.Base.Data; @@ -29,6 +28,7 @@ using Core.Common.Gui.PropertyBag; using Core.Common.Utils; using Core.Common.Utils.Attributes; +using Core.Common.Utils.Extensions; using Ringtoets.Common.Data.Hydraulics; using Ringtoets.Common.Data.IllustrationPoints; using Ringtoets.Common.Forms.PropertyClasses; @@ -189,15 +189,15 @@ return new TopLevelFaultTreeIllustrationPointProperties[0]; } - IEnumerable listOfClosingSituations = data.GeneralResult - .TopLevelIllustrationPoints - .Select(point => point.ClosingSituation); + bool areClosingSituationsSame = data.GeneralResult + .TopLevelIllustrationPoints + .AnyNonDistinct(p => p.ClosingSituation); return data.GeneralResult .TopLevelIllustrationPoints .Select(point => new TopLevelFaultTreeIllustrationPointProperties( - point, listOfClosingSituations)).ToArray(); + point, areClosingSituationsSame)).ToArray(); } } Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs =================================================================== diff -u -r712e51eb76a5659f285837dceb4c1c761eca4f4b -rb2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision 712e51eb76a5659f285837dceb4c1c761eca4f4b) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision b2db9fb09d24ef2b0c09ec1d90014c86b4f6ebcb) @@ -332,8 +332,7 @@ }; yield return new PropertyInfo { - CreateInstance = point => new TopLevelFaultTreeIllustrationPointProperties(point.TopLevelFaultTreeIllustrationPoint, - point.ClosingSituations) + CreateInstance = CreateTopLevelFaultTreeIllustrationPointProperties }; yield return new PropertyInfo { @@ -882,6 +881,12 @@ context.ClosingSituation); } + private static TopLevelFaultTreeIllustrationPointProperties CreateTopLevelFaultTreeIllustrationPointProperties(SelectedTopLevelFaultTreeIllustrationPoint point) + { + return new TopLevelFaultTreeIllustrationPointProperties(point.TopLevelFaultTreeIllustrationPoint, + point.ClosingSituations.AnyNonDistinct(cs => cs)); + } + #endregion #region ViewInfos