Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Forms.Test/TreeNodeInfos/ClosingStructuresCalculationContextTreeNodeInfoTest.cs =================================================================== diff -u -r9214f74184b5923e0fb04b86d50c5bf8e5e57cdc -ree5ab18ca7554ffb2ce9546dd72b341da59f0345 --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Forms.Test/TreeNodeInfos/ClosingStructuresCalculationContextTreeNodeInfoTest.cs (.../ClosingStructuresCalculationContextTreeNodeInfoTest.cs) (revision 9214f74184b5923e0fb04b86d50c5bf8e5e57cdc) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Forms.Test/TreeNodeInfos/ClosingStructuresCalculationContextTreeNodeInfoTest.cs (.../ClosingStructuresCalculationContextTreeNodeInfoTest.cs) (revision ee5ab18ca7554ffb2ce9546dd72b341da59f0345) @@ -22,10 +22,17 @@ using System.Linq; using Core.Common.Controls.TreeView; using Core.Common.Gui; +using Core.Common.TestUtil; using NUnit.Framework; using Rhino.Mocks; +using Ringtoets.ClosingStructures.Data; using Ringtoets.ClosingStructures.Forms.PresentationObjects; using Ringtoets.ClosingStructures.Plugin; +using Ringtoets.Common.Data; +using Ringtoets.Common.Data.AssessmentSection; +using Ringtoets.Common.Data.Probability; +using Ringtoets.Common.Forms.PresentationObjects; +using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; namespace Ringtoets.ClosingStructures.Forms.Test.TreeNodeInfos { @@ -56,5 +63,110 @@ plugin.Dispose(); mocks.VerifyAll(); } + + [Test] + public void Initialized_Always_ExpectedPropertiesSet() + { + // Setup + mocks.ReplayAll(); + + // Assert + Assert.AreEqual(typeof(ClosingStructuresCalculationContext), info.TagType); + Assert.IsNotNull(info.Text); + Assert.IsNotNull(info.Image); + Assert.IsNotNull(info.EnsureVisibleOnCreate); + Assert.IsNotNull(info.ChildNodeObjects); + Assert.IsNotNull(info.ContextMenuStrip); + Assert.IsNotNull(info.CanRename); + Assert.IsNotNull(info.OnNodeRenamed); + Assert.IsNotNull(info.CanRemove); + Assert.IsNotNull(info.OnNodeRemoved); + Assert.IsNotNull(info.CanDrag); + Assert.IsNull(info.ForeColor); + Assert.IsNull(info.CanCheck); + Assert.IsNull(info.IsChecked); + Assert.IsNull(info.OnNodeChecked); + Assert.IsNull(info.CanDrop); + Assert.IsNull(info.CanInsert); + Assert.IsNull(info.OnDrop); + } + + [Test] + public void Image_Always_ReturnsCalculationIcon() + { + // Setup + mocks.ReplayAll(); + + // Call + var image = info.Image(null); + + // Assert + TestHelper.AssertImagesAreEqual(RingtoetsCommonFormsResources.CalculationIcon, image); + } + + [Test] + public void ChildNodeObjects_CalculationWithoutOutput_ReturnCollectionWithEmptyOutputObject() + { + var assessmentSectionMock = mocks.Stub(); + mocks.ReplayAll(); + + var failureMechanism = new ClosingStructuresFailureMechanism(); + var calculation = new ClosingStructuresCalculation(); + var calculationContext = new ClosingStructuresCalculationContext(calculation, failureMechanism, assessmentSectionMock); + + // Call + var children = info.ChildNodeObjects(calculationContext).ToArray(); + + // Assert + Assert.AreEqual(3, children.Length); + + var commentContext = children[0] as CommentContext; + Assert.IsNotNull(commentContext); + Assert.AreSame(calculationContext.WrappedData, commentContext.WrappedData); + + var ClosingStructuresInputContext = children[1] as ClosingStructuresInputContext; + Assert.IsNotNull(ClosingStructuresInputContext); + Assert.AreSame(calculationContext.WrappedData.InputParameters, ClosingStructuresInputContext.WrappedData); + + var emptyOutput = children[2] as EmptyProbabilityAssessmentOutput; + Assert.IsNotNull(emptyOutput); + } + + [Test] + public void ChildNodeObjects_CalculationWithOutput_ReturnCollectionWithOutputObject() + { + var assessmentSectionMock = mocks.Stub(); + mocks.ReplayAll(); + + var failureMechanism = new ClosingStructuresFailureMechanism(); + var calculation = new ClosingStructuresCalculation + { + Output = new TestClosingStructuresOutput() + }; + + var calculationContext = new ClosingStructuresCalculationContext(calculation, failureMechanism, assessmentSectionMock); + + // Call + var children = info.ChildNodeObjects(calculationContext).ToArray(); + + // Assert + Assert.AreEqual(3, children.Length); + + var commentContext = children[0] as CommentContext; + Assert.IsNotNull(commentContext); + Assert.AreSame(calculationContext.WrappedData, commentContext.WrappedData); + + var ClosingStructuresInputContext = children[1] as ClosingStructuresInputContext; + Assert.IsNotNull(ClosingStructuresInputContext); + Assert.AreSame(calculationContext.WrappedData.InputParameters, ClosingStructuresInputContext.WrappedData); + + var output = children[2] as ProbabilityAssessmentOutput; + Assert.IsNotNull(output); + } + + private class TestClosingStructuresOutput : ProbabilityAssessmentOutput + { + public TestClosingStructuresOutput() : base(0, 0, 0, 0, 0) { } + } } } \ No newline at end of file