Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/LogNormalDistributionPropertiesTest.cs =================================================================== diff -u -rf5ac9de8b45cef4515fa7a051c5af54446f96712 -r954df4af6d46b3b5a9d7c2522f692923d2f6a716 --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/LogNormalDistributionPropertiesTest.cs (.../LogNormalDistributionPropertiesTest.cs) (revision f5ac9de8b45cef4515fa7a051c5af54446f96712) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/LogNormalDistributionPropertiesTest.cs (.../LogNormalDistributionPropertiesTest.cs) (revision 954df4af6d46b3b5a9d7c2522f692923d2f6a716) @@ -24,10 +24,12 @@ using System.ComponentModel; using System.Linq; using Core.Common.Base; +using Core.Common.Base.Data; using Core.Common.Gui.PropertyBag; using Core.Common.Utils.Attributes; using NUnit.Framework; using Rhino.Mocks; +using Ringtoets.Common.Data.Probabilistics; using Ringtoets.Common.Forms.PropertyClasses; namespace Ringtoets.Common.Forms.Test.PropertyClasses @@ -97,6 +99,83 @@ mockRepository.VerifyAll(); } + + [Test] + public void SetProperties_MeanWithoutObserverable_ThrowsArgumentException() + { + // Setup + var properties = new LogNormalDistributionProperties(null) + { + Data = new LognormalDistribution(2), + }; + + // Call + TestDelegate test = () => properties.Mean = new RoundedDouble(2, 20); + + // Assert + Assert.Throws(test); + } + + [Test] + public void SetProperties_StandardDeviationWithoutObserverable_ThrowsArgumentException() + { + // Setup + var properties = new LogNormalDistributionProperties(null) + { + Data = new LognormalDistribution(2) + }; + + // Call + TestDelegate test = () => properties.StandardDeviation = new RoundedDouble(2, 20); + + // Assert + Assert.Throws(test); + } + + + + [Test] + public void SetProperties_MeanWithObserverable_ValueSetNotifyObservers() + { + // Setup + var observerableMock = mockRepository.StrictMock(); + observerableMock.Expect(o => o.NotifyObservers()).Repeat.Once(); + var properties = new LogNormalDistributionProperties(observerableMock) + { + Data = new LognormalDistribution(3) + }; + mockRepository.ReplayAll(); + RoundedDouble newMeanValue = new RoundedDouble(3, 20); + + // Call + properties.Mean = newMeanValue; + + // Assert + Assert.AreEqual(newMeanValue, properties.Mean); + mockRepository.VerifyAll(); + } + + [Test] + public void SetProperties_StandardDeviationWithObserverable_ValueSetNotifyObservers() + { + // Setup + var observerableMock = mockRepository.StrictMock(); + observerableMock.Expect(o => o.NotifyObservers()).Repeat.Once(); + var properties = new LogNormalDistributionProperties(observerableMock) + { + Data = new LognormalDistribution(3) + }; + mockRepository.ReplayAll(); + RoundedDouble newStandardDeviationValue = new RoundedDouble(3, 20); + + // Call + properties.StandardDeviation = newStandardDeviationValue; + + // Assert + Assert.AreEqual(newStandardDeviationValue, properties.StandardDeviation); + mockRepository.VerifyAll(); + } + private static void AssertAttributesOfType(IEnumerable attributes, TR expectedValue, Func action) { Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/DikeGeometryPropertiesTest.cs =================================================================== diff -u -r4936ea40e490dd8a3ed500e1c5a8f8390ff31491 -r954df4af6d46b3b5a9d7c2522f692923d2f6a716 --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/DikeGeometryPropertiesTest.cs (.../DikeGeometryPropertiesTest.cs) (revision 4936ea40e490dd8a3ed500e1c5a8f8390ff31491) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/DikeGeometryPropertiesTest.cs (.../DikeGeometryPropertiesTest.cs) (revision 954df4af6d46b3b5a9d7c2522f692923d2f6a716) @@ -20,15 +20,15 @@ // All rights reserved. using System.ComponentModel; +using Core.Common.Base.Data; +using Core.Common.Base.Geometry; using Core.Common.Gui.PropertyBag; using NUnit.Framework; using Rhino.Mocks; using Ringtoets.Common.Data.AssessmentSection; -using Ringtoets.Common.Data.Calculation; using Ringtoets.Common.Data.Probability; using Ringtoets.GrassCoverErosionInwards.Data; using Ringtoets.GrassCoverErosionInwards.Forms.PresentationObjects; -using Ringtoets.GrassCoverErosionInwards.Forms.Properties; using Ringtoets.GrassCoverErosionInwards.Forms.PropertyClasses; namespace Ringtoets.GrassCoverErosionInwards.Forms.Test.PropertyClasses @@ -79,6 +79,46 @@ } [Test] + public void Data_SetInputContextInstanceWithData_ReturnCorrectPropertyValues() + { + // Setup + var assessmentSectionMock = mockRepository.StrictMock(); + var failureMechanismMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + + var generalInput = new GeneralGrassCoverErosionInwardsInput(); + var calculation = new GrassCoverErosionInwardsCalculation(generalInput, new NormProbabilityInput()); + calculation.InputParameters.SetDikeGeometry(new[] + { + new RoughnessProfileSection(new Point2D(0, 0), new Point2D(1, 1), 2) + }); + var properties = new DikeGeometryProperties(); + + // Call + properties.Data = new GrassCoverErosionInwardsInputContext(calculation.InputParameters, calculation, failureMechanismMock, assessmentSectionMock); + + // Assert + var expectedCoordinates = new[] + { + new Point2D(0, 0), + new Point2D(1, 1) + }; + Assert.AreEqual(expectedCoordinates.Length, properties.Coordinates.Length); + for (var i = 0; i < expectedCoordinates.Length; i++) + { + Assert.AreEqual(expectedCoordinates[i].X, properties.Coordinates[i].X); + Assert.AreEqual(expectedCoordinates[i].Y, properties.Coordinates[i].Y); + } + CollectionAssert.AreEqual(expectedCoordinates, properties.Coordinates); + var expectedRoughness = new[] + { + new RoundedDouble(2, 2) + }; + CollectionAssert.AreEqual(expectedRoughness, properties.Roughness); + mockRepository.VerifyAll(); + } + + [Test] public void PropertyAttributes_ReturnExpectedValues() { // Setup