Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs =================================================================== diff -u -rb080cb9fb0858490cddf9f9f6bb043230146e4c2 -r9e9e7d99aa5e3351f509eb24888e51ed091273d2 --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision b080cb9fb0858490cddf9f9f6bb043230146e4c2) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision 9e9e7d99aa5e3351f509eb24888e51ed091273d2) @@ -760,8 +760,13 @@ yield return new TreeNodeInfo { Text = output => RingtoetsCommonFormsResources.CalculationOutput_DisplayName, + ForeColor = context => context.WrappedData.HasOutput + ? Color.FromKnownColor(KnownColor.ControlText) + : Color.FromKnownColor(KnownColor.GrayText), Image = output => RingtoetsCommonFormsResources.GeneralOutputIcon, ContextMenuStrip = (nodeData, parentData, treeViewControl) => Gui.Get(nodeData, treeViewControl) + .AddOpenItem() + .AddSeparator() .AddPropertiesItem() .Build() }; Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/TreeNodeInfos/StructuresOutputContextTreeNodeInfoTest.cs =================================================================== diff -u -r493f5782760f6e8a65213bbbce141be20751e7c1 -r9e9e7d99aa5e3351f509eb24888e51ed091273d2 --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/TreeNodeInfos/StructuresOutputContextTreeNodeInfoTest.cs (.../StructuresOutputContextTreeNodeInfoTest.cs) (revision 493f5782760f6e8a65213bbbce141be20751e7c1) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/TreeNodeInfos/StructuresOutputContextTreeNodeInfoTest.cs (.../StructuresOutputContextTreeNodeInfoTest.cs) (revision 9e9e7d99aa5e3351f509eb24888e51ed091273d2) @@ -27,6 +27,7 @@ using Core.Common.TestUtil; using NUnit.Framework; using Rhino.Mocks; +using Ringtoets.Common.Data.TestUtil; using Ringtoets.Common.Forms.PresentationObjects; using Ringtoets.Common.Forms.Properties; @@ -62,7 +63,7 @@ // Assert Assert.IsNotNull(info.Text); - Assert.IsNull(info.ForeColor); + Assert.IsNotNull(info.ForeColor); Assert.IsNotNull(info.Image); Assert.IsNotNull(info.ContextMenuStrip); Assert.IsNull(info.EnsureVisibleOnCreate); @@ -95,6 +96,35 @@ } [Test] + public void ForeColor_HasNoOutput_ReturnGrayText() + { + // Setup + mocksRepository.ReplayAll(); + + // Call + Color color = info.ForeColor(new StructuresOutputContext(new TestStructuresCalculation())); + + // Assert + Assert.AreEqual(Color.FromKnownColor(KnownColor.GrayText), color); + } + + [Test] + public void ForeColor_HasOutput_ReturnControlText() + { + // Setup + mocksRepository.ReplayAll(); + + // Call + Color color = info.ForeColor(new StructuresOutputContext(new TestStructuresCalculation + { + Output = new TestStructuresOutput() + })); + + // Assert + Assert.AreEqual(Color.FromKnownColor(KnownColor.ControlText), color); + } + + [Test] public void Image_Always_ReturnsGeneralOutputIcon() { // Setup @@ -114,6 +144,8 @@ var menuBuilderMock = mocksRepository.StrictMock(); using (mocksRepository.Ordered()) { + menuBuilderMock.Expect(mb => mb.AddOpenItem()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddSeparator()).Return(menuBuilderMock); menuBuilderMock.Expect(mb => mb.AddPropertiesItem()).Return(menuBuilderMock); menuBuilderMock.Expect(mb => mb.Build()).Return(null); } Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Plugin.Test/TreeNodeInfos/StabilityPointStructuresContextTreeNodeInfoTest.cs =================================================================== diff -u -r907d7211601d77e3ab0d0e156b7787a9dda0490b -r9e9e7d99aa5e3351f509eb24888e51ed091273d2 --- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Plugin.Test/TreeNodeInfos/StabilityPointStructuresContextTreeNodeInfoTest.cs (.../StabilityPointStructuresContextTreeNodeInfoTest.cs) (revision 907d7211601d77e3ab0d0e156b7787a9dda0490b) +++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Plugin.Test/TreeNodeInfos/StabilityPointStructuresContextTreeNodeInfoTest.cs (.../StabilityPointStructuresContextTreeNodeInfoTest.cs) (revision 9e9e7d99aa5e3351f509eb24888e51ed091273d2) @@ -197,13 +197,13 @@ var assessmentSection = mocks.Stub(); mocks.ReplayAll(); - var faliureMechanism = new StabilityPointStructuresFailureMechanism(); + var failureMechanism = new StabilityPointStructuresFailureMechanism(); // Precondition - CollectionAssert.IsEmpty(faliureMechanism.StabilityPointStructures); + CollectionAssert.IsEmpty(failureMechanism.StabilityPointStructures); - var context = new StabilityPointStructuresContext(faliureMechanism.StabilityPointStructures, - faliureMechanism, + var context = new StabilityPointStructuresContext(failureMechanism.StabilityPointStructures, + failureMechanism, assessmentSection); using (var plugin = new StabilityPointStructuresPlugin()) {