Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs =================================================================== diff -u -r0f6049b15bcadf8de3a59c74e829f27bb725c013 -rf2f090c06a26700c54c1e85dbc49c20cceeadeec --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision 0f6049b15bcadf8de3a59c74e829f27bb725c013) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision f2f090c06a26700c54c1e85dbc49c20cceeadeec) @@ -36,10 +36,12 @@ using NUnit.Extensions.Forms; using NUnit.Framework; using Rhino.Mocks; +using Ringtoets.Common.Data; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Contribution; using Ringtoets.Common.Data.DikeProfiles; using Ringtoets.Common.Data.FailureMechanism; +using Ringtoets.Common.Forms.PresentationObjects; using Ringtoets.GrassCoverErosionOutwards.Data; using Ringtoets.GrassCoverErosionOutwards.Forms.PresentationObjects; using Ringtoets.GrassCoverErosionOutwards.Plugin; @@ -293,6 +295,73 @@ } [Test] + public void ChildNodeObjects_CalculationWithoutOutput_ReturnChildrenWithEmptyOutput() + { + // Setup + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); + + var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation + { + Output = null + }; + var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); + var context = new GrassCoverErosionOutwardsWaveConditionsCalculationContext(calculation, + failureMechanism, + assessmentSection); + + // Call + object[] children = info.ChildNodeObjects(context); + + // Assert + Assert.AreEqual(3, children.Length); + + var commentsContext = (CommentContext)children[0]; + Assert.AreSame(calculation, commentsContext.WrappedData); + + var inputContext = (GrassCoverErosionOutwardsWaveConditionsCalculationInputContext)children[1]; + Assert.AreSame(calculation.InputParameters, inputContext.WrappedData); + Assert.AreSame(failureMechanism, inputContext.FailureMechanism); + Assert.AreSame(assessmentSection, inputContext.AssessmentSection); + + Assert.IsInstanceOf(children[2]); + } + + [Test] + public void ChildNodeObjects_CalculationWithOutput_ReturnChildrenWithOutput() + { + // Setup + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); + + var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation + { + Output = new GrassCoverErosionOutwardsWaveConditionsOutput(Enumerable.Empty()) + }; + var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); + var context = new GrassCoverErosionOutwardsWaveConditionsCalculationContext(calculation, + failureMechanism, + assessmentSection); + + // Call + object[] children = info.ChildNodeObjects(context); + + // Assert + Assert.AreEqual(3, children.Length); + + var commentsContext = (CommentContext)children[0]; + Assert.AreSame(calculation, commentsContext.WrappedData); + + var inputContext = (GrassCoverErosionOutwardsWaveConditionsCalculationInputContext)children[1]; + Assert.AreSame(calculation.InputParameters, inputContext.WrappedData); + Assert.AreSame(failureMechanism, inputContext.FailureMechanism); + Assert.AreSame(assessmentSection, inputContext.AssessmentSection); + + var output = (GrassCoverErosionOutwardsWaveConditionsOutput)children[2]; + Assert.AreSame(calculation.Output, output); + } + + [Test] public void ContextMenuStrip_Always_CallsBuilder() { // Setup