Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/StructuresInputBasePropertiesTest.cs =================================================================== diff -u -rd69cf89498b4f926407d0261a747a4a7a8d37e62 -r0f678f97e76d90e4a7e7f0611ff22ab196b46381 --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/StructuresInputBasePropertiesTest.cs (.../StructuresInputBasePropertiesTest.cs) (revision d69cf89498b4f926407d0261a747a4a7a8d37e62) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/StructuresInputBasePropertiesTest.cs (.../StructuresInputBasePropertiesTest.cs) (revision 0f678f97e76d90e4a7e7f0611ff22ab196b46381) @@ -59,30 +59,110 @@ [Test] public void Constructor_ConstructionPropertiesIsNull_ThrowsArgumentNullException() { + // Setup + var assessmentSectionStub = mockRepository.Stub(); + var failureMechanismStub = mockRepository.Stub(); + + mockRepository.ReplayAll(); + + var calculation = new StructuresCalculation(); + var inputContext = new SimpleInputContext(calculation.InputParameters, + calculation, + failureMechanismStub, + assessmentSectionStub); // Call - TestDelegate call = () => new SimpleStructuresInputProperties(null); + TestDelegate call = () => new SimpleStructuresInputProperties(inputContext, null); // Assert string paramName = Assert.Throws(call).ParamName; Assert.AreEqual("constructionProperties", paramName); } [Test] - public void Constructor_ExpectedValues() + public void Constructor_DataIsNull_ThrowsArgumentNullException() { // Setup var constructionProperties = GetRandomConstructionProperties(); // Call - var properties = new SimpleStructuresInputProperties(constructionProperties); + TestDelegate call = () => new SimpleStructuresInputProperties(null, constructionProperties); // Assert + string paramName = Assert.Throws(call).ParamName; + Assert.AreEqual("data", paramName); + } + + [Test] + public void Constructor_ValidValues_ExpectedValues() + { + // Setup + var constructionProperties = GetRandomConstructionProperties(); + var assessmentSectionStub = mockRepository.Stub(); + var failureMechanismStub = mockRepository.Stub(); + + mockRepository.ReplayAll(); + + var calculation = new StructuresCalculation(); + var inputContext = new SimpleInputContext(calculation.InputParameters, + calculation, + failureMechanismStub, + assessmentSectionStub); + + // Call + var properties = new SimpleStructuresInputProperties( + inputContext, + constructionProperties); + + // Assert Assert.IsInstanceOf, IFailureMechanism>>>(properties); Assert.IsInstanceOf(properties); Assert.IsInstanceOf>(properties); Assert.IsInstanceOf(properties); - Assert.IsNull(properties.Data); + Assert.AreSame(inputContext, properties.Data); + SimpleStructureInput input = calculation.InputParameters; + var expectedFailureProbabilityStructureWithErosion = ProbabilityFormattingHelper.Format(input.FailureProbabilityStructureWithErosion); + + Assert.IsNull(properties.Structure); + Assert.IsNull(properties.StructureLocation); + Assert.AreSame(input.ModelFactorSuperCriticalFlow, properties.ModelFactorSuperCriticalFlow.Data); + Assert.AreEqual(input.StructureNormalOrientation, properties.StructureNormalOrientation); + Assert.AreSame(input.AllowedLevelIncreaseStorage, properties.AllowedLevelIncreaseStorage.Data); + Assert.AreSame(input.StorageStructureArea, properties.StorageStructureArea.Data); + Assert.AreSame(input.FlowWidthAtBottomProtection, properties.FlowWidthAtBottomProtection.Data); + Assert.AreSame(input.WidthFlowApertures, properties.WidthFlowApertures.Data); + Assert.AreSame(input.CriticalOvertoppingDischarge, properties.CriticalOvertoppingDischarge.Data); + Assert.IsNull(properties.ForeshoreProfile); + Assert.IsInstanceOf(properties.UseBreakWater); + Assert.IsInstanceOf(properties.UseForeshore); + Assert.AreEqual(expectedFailureProbabilityStructureWithErosion, properties.FailureProbabilityStructureWithErosion); + Assert.IsNull(properties.SelectedHydraulicBoundaryLocation); + Assert.AreSame(input.StormDuration, properties.StormDuration.Data); + + mockRepository.VerifyAll(); + } + + [Test] + public void Constructor_ValidValues_PropertiesHaveExpectedAttributesValues() + { + // Setup + var constructionProperties = GetRandomConstructionProperties(); + var assessmentSectionStub = mockRepository.Stub(); + var failureMechanismStub = mockRepository.Stub(); + + mockRepository.ReplayAll(); + + var calculation = new StructuresCalculation(); + var inputContext = new SimpleInputContext(calculation.InputParameters, + calculation, + failureMechanismStub, + assessmentSectionStub); + + // Call + var properties = new SimpleStructuresInputProperties(inputContext, constructionProperties); + + // Assert + const string schematizationCategory = "Schematisatie"; const string hydraulicDataCategory = "Hydraulische gegevens"; const string modelSettingsCategory = "Modelinstellingen"; @@ -191,48 +271,6 @@ } [Test] - public void Data_SetNewInputContextInstance_ReturnCorrectPropertyValues() - { - // Setup - var assessmentSectionStub = mockRepository.Stub(); - var failureMechanismStub = mockRepository.Stub(); - - mockRepository.ReplayAll(); - - var calculation = new StructuresCalculation(); - var properties = new SimpleStructuresInputProperties(new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()); - var inputContext = new SimpleInputContext(calculation.InputParameters, - calculation, - failureMechanismStub, - assessmentSectionStub); - - // Call - properties.Data = inputContext; - - // Assert - SimpleStructureInput input = calculation.InputParameters; - var expectedFailureProbabilityStructureWithErosion = ProbabilityFormattingHelper.Format(input.FailureProbabilityStructureWithErosion); - - Assert.IsNull(properties.Structure); - Assert.IsNull(properties.StructureLocation); - Assert.AreSame(input.ModelFactorSuperCriticalFlow, properties.ModelFactorSuperCriticalFlow.Data); - Assert.AreEqual(input.StructureNormalOrientation, properties.StructureNormalOrientation); - Assert.AreSame(input.AllowedLevelIncreaseStorage, properties.AllowedLevelIncreaseStorage.Data); - Assert.AreSame(input.StorageStructureArea, properties.StorageStructureArea.Data); - Assert.AreSame(input.FlowWidthAtBottomProtection, properties.FlowWidthAtBottomProtection.Data); - Assert.AreSame(input.WidthFlowApertures, properties.WidthFlowApertures.Data); - Assert.AreSame(input.CriticalOvertoppingDischarge, properties.CriticalOvertoppingDischarge.Data); - Assert.IsNull(properties.ForeshoreProfile); - Assert.IsInstanceOf(properties.UseBreakWater); - Assert.IsInstanceOf(properties.UseForeshore); - Assert.AreEqual(expectedFailureProbabilityStructureWithErosion, properties.FailureProbabilityStructureWithErosion); - Assert.IsNull(properties.SelectedHydraulicBoundaryLocation); - Assert.AreSame(input.StormDuration, properties.StormDuration.Data); - - mockRepository.VerifyAll(); - } - - [Test] public void SelectedHydraulicBoundaryLocation_InputNoLocation_ReturnsNull() { // Setup @@ -245,10 +283,9 @@ calculation, failureMechanismStub, assessmentSectionStub); - var properties = new SimpleStructuresInputProperties(new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()) - { - Data = inputContext - }; + var properties = new SimpleStructuresInputProperties( + inputContext, + new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()); SelectableHydraulicBoundaryLocation selectedHydraulicBoundaryLocation = null; @@ -287,10 +324,9 @@ calculation, failureMechanismStub, assessmentSectionStub); - var properties = new SimpleStructuresInputProperties(new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()) - { - Data = inputContext - }; + var properties = new SimpleStructuresInputProperties( + inputContext, + new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()); // Call var availableHydraulicBoundaryLocations = properties.GetSelectableHydraulicBoundaryLocations(); @@ -337,10 +373,9 @@ calculation, failureMechanismStub, assessmentSectionStub); - var properties = new SimpleStructuresInputProperties(new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()) - { - Data = inputContext - }; + var properties = new SimpleStructuresInputProperties( + inputContext, + new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()); // Call var availableHydraulicBoundaryLocations = properties.GetSelectableHydraulicBoundaryLocations(); @@ -389,10 +424,9 @@ calculation, failureMechanismStub, assessmentSectionStub); - var properties = new SimpleStructuresInputProperties(new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()) - { - Data = inputContext - }; + var properties = new SimpleStructuresInputProperties( + inputContext, + new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()); IEnumerable originalList = properties.GetSelectableHydraulicBoundaryLocations() .ToList(); @@ -440,10 +474,9 @@ calculation, failureMechanismStub, assessmentSectionStub); - var properties = new SimpleStructuresInputProperties(new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()) - { - Data = inputContext - }; + var properties = new SimpleStructuresInputProperties( + inputContext, + new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()); inputContext.Attach(observerMock); @@ -534,10 +567,9 @@ calculation, failureMechanismStub, assessmentSectionStub); - var properties = new SimpleStructuresInputProperties(new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()) - { - Data = inputContext - }; + var properties = new SimpleStructuresInputProperties( + inputContext, + new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()); // Precondition Assert.IsFalse(properties.AfterSettingStructureCalled); @@ -562,10 +594,9 @@ calculation, failureMechanismStub, assessmentSectionStub); - var properties = new SimpleStructuresInputProperties(new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()) - { - Data = inputContext - }; + var properties = new SimpleStructuresInputProperties( + inputContext, + new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()); // Precondition Assert.IsFalse(properties.AfterSettingStructureCalled); @@ -592,10 +623,9 @@ calculation, failureMechanismStub, assessmentSectionStub); - var properties = new SimpleStructuresInputProperties(new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()) - { - Data = inputContext - }; + var properties = new SimpleStructuresInputProperties( + inputContext, + new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()); // Call TestDelegate call = () => properties.FailureProbabilityStructureWithErosion = newValue.ToString(CultureInfo.InvariantCulture); @@ -622,10 +652,9 @@ calculation, failureMechanismStub, assessmentSectionStub); - var properties = new SimpleStructuresInputProperties(new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()) - { - Data = inputContext - }; + var properties = new SimpleStructuresInputProperties( + inputContext, + new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()); // Call TestDelegate call = () => properties.FailureProbabilityStructureWithErosion = newValue; @@ -650,10 +679,9 @@ calculation, failureMechanismStub, assessmentSectionStub); - var properties = new SimpleStructuresInputProperties(new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()) - { - Data = inputContext - }; + var properties = new SimpleStructuresInputProperties( + inputContext, + new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()); // Call TestDelegate call = () => properties.FailureProbabilityStructureWithErosion = null; @@ -747,7 +775,7 @@ StructuresCalculation, IFailureMechanism> { - public SimpleStructuresInputProperties(ConstructionProperties constructionProperties) : base(constructionProperties) {} + public SimpleStructuresInputProperties(SimpleInputContext context, ConstructionProperties constructionProperties) : base(context, constructionProperties) {} [Browsable(false)] public bool AfterSettingStructureCalled { get; private set; } @@ -803,13 +831,11 @@ inputParameters.Attach(inputObserver); - var properties = new SimpleStructuresInputProperties(GetRandomConstructionProperties()) - { - Data = new SimpleInputContext(inputParameters, - calculation, - failureMechanism, - assessmentSection) - }; + var properties = new SimpleStructuresInputProperties(new SimpleInputContext(inputParameters, + calculation, + failureMechanism, + assessmentSection), + GetRandomConstructionProperties()); // Call setProperty(properties);