Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Forms.Test/PresentationObjects/ClosingStructuresFailureMechanismContextTest.cs =================================================================== diff -u -r5b1276bcb70296a150fd4a26fbf8867e6f8aa0f2 -r5586f52de59cc0f9a350161b00cb9e63dcda0b5c --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Forms.Test/PresentationObjects/ClosingStructuresFailureMechanismContextTest.cs (.../ClosingStructuresFailureMechanismContextTest.cs) (revision 5b1276bcb70296a150fd4a26fbf8867e6f8aa0f2) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Forms.Test/PresentationObjects/ClosingStructuresFailureMechanismContextTest.cs (.../ClosingStructuresFailureMechanismContextTest.cs) (revision 5586f52de59cc0f9a350161b00cb9e63dcda0b5c) @@ -36,7 +36,7 @@ { // Setup var mocks = new MockRepository(); - var assessmentSectionMock = mocks.StrictMock(); + var assessmentSectionMock = mocks.Stub(); mocks.ReplayAll(); var failureMechanism = new ClosingStructuresFailureMechanism(); Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Forms.Test/TreeNodeInfos/ClosingStructureFailureMechanismContextTreeNodeInfoTest.cs =================================================================== diff -u -re8162b5b22781fbe2258f99aa208e38f3ead9133 -r5586f52de59cc0f9a350161b00cb9e63dcda0b5c --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Forms.Test/TreeNodeInfos/ClosingStructureFailureMechanismContextTreeNodeInfoTest.cs (.../ClosingStructureFailureMechanismContextTreeNodeInfoTest.cs) (revision e8162b5b22781fbe2258f99aa208e38f3ead9133) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Forms.Test/TreeNodeInfos/ClosingStructureFailureMechanismContextTreeNodeInfoTest.cs (.../ClosingStructureFailureMechanismContextTreeNodeInfoTest.cs) (revision 5586f52de59cc0f9a350161b00cb9e63dcda0b5c) @@ -92,7 +92,7 @@ public void ChildNodeObjects_FailureMechanismIsRelevant_ReturnChildDataNodes() { // Setup - var assessmentSectionMock = mocksRepository.StrictMock(); + var assessmentSectionMock = mocksRepository.Stub(); mocksRepository.ReplayAll(); var failureMechanism = new ClosingStructuresFailureMechanism(); @@ -144,7 +144,7 @@ public void ChildNodeObjects_FailureMechanismIsNotRelevant_ReturnOnlyFailureMechanismComments() { // Setup - var assessmentSectionMock = mocksRepository.StrictMock(); + var assessmentSectionMock = mocksRepository.Stub(); mocksRepository.ReplayAll(); var failureMechanism = new ClosingStructuresFailureMechanism @@ -173,7 +173,7 @@ { // Setup var failureMechanism = new ClosingStructuresFailureMechanism(); - var assessmentSectionMock = mocksRepository.StrictMock(); + var assessmentSectionMock = mocksRepository.Stub(); var failureMechanismContext = new ClosingStructuresFailureMechanismContext(failureMechanism, assessmentSectionMock); var guiMock = mocksRepository.StrictMock(); var menuBuilderMock = mocksRepository.StrictMock(); @@ -215,7 +215,7 @@ { IsRelevant = false }; - var assessmentSectionMock = mocksRepository.StrictMock(); + var assessmentSectionMock = mocksRepository.Stub(); var failureMechanismContext = new ClosingStructuresFailureMechanismContext(failureMechanism, assessmentSectionMock); var guiMock = mocksRepository.StrictMock(); var menuBuilderMock = mocksRepository.StrictMock(); @@ -250,7 +250,7 @@ using (var plugin = new ClosingStructuresPlugin()) using (var treeView = new TreeViewControl()) { - var assessmentSectionMock = mocksRepository.StrictMock(); + var assessmentSectionMock = mocksRepository.Stub(); var failureMechanism = new ClosingStructuresFailureMechanism(); var failureMechanismContext = new ClosingStructuresFailureMechanismContext(failureMechanism, assessmentSectionMock); var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); @@ -305,7 +305,7 @@ using (var plugin = new ClosingStructuresPlugin()) using (var treeView = new TreeViewControl()) { - var assessmentSectionMock = mocksRepository.StrictMock(); + var assessmentSectionMock = mocksRepository.Stub(); var failureMechanism = new ClosingStructuresFailureMechanism { IsRelevant = false @@ -343,7 +343,7 @@ { // Setup var failureMechanism = new ClosingStructuresFailureMechanism(); - var assessmentSectionMock = mocksRepository.StrictMock(); + var assessmentSectionMock = mocksRepository.Stub(); var failureMechanismContext = new ClosingStructuresFailureMechanismContext(failureMechanism, assessmentSectionMock); var viewCommandsMock = mocksRepository.StrictMock(); var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); @@ -381,7 +381,7 @@ { IsRelevant = false }; - var assessmentSectionMock = mocksRepository.StrictMock(); + var assessmentSectionMock = mocksRepository.Stub(); var failureMechanismContext = new ClosingStructuresFailureMechanismContext(failureMechanism, assessmentSectionMock); var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); var guiMock = mocksRepository.StrictMock(); Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/ClosingStructuresPluginTest.cs =================================================================== diff -u -re8162b5b22781fbe2258f99aa208e38f3ead9133 -r5586f52de59cc0f9a350161b00cb9e63dcda0b5c --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/ClosingStructuresPluginTest.cs (.../ClosingStructuresPluginTest.cs) (revision e8162b5b22781fbe2258f99aa208e38f3ead9133) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/ClosingStructuresPluginTest.cs (.../ClosingStructuresPluginTest.cs) (revision 5586f52de59cc0f9a350161b00cb9e63dcda0b5c) @@ -25,7 +25,6 @@ using Core.Common.Gui.Plugin; using Core.Common.TestUtil; using NUnit.Framework; -using Rhino.Mocks; using Ringtoets.ClosingStructures.Data; using Ringtoets.ClosingStructures.Forms.PresentationObjects; using Ringtoets.ClosingStructures.Forms.Views; @@ -52,9 +51,6 @@ public void GetTreeNodeInfos_ReturnsSupportedTreeNodeInfos() { // Setup - var mocks = new MockRepository(); - mocks.ReplayAll(); - using (var plugin = new ClosingStructuresPlugin()) { // Call @@ -67,8 +63,6 @@ Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(ClosingStructureContext))); Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(ClosingStructuresCalculationGroupContext))); } - - mocks.VerifyAll(); } [Test] Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/Ringtoets.ClosingStructures.Plugin.Test.csproj =================================================================== diff -u -rfbf9eca188c20c352a702ee20c183e5dc3c7acf1 -r5586f52de59cc0f9a350161b00cb9e63dcda0b5c --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/Ringtoets.ClosingStructures.Plugin.Test.csproj (.../Ringtoets.ClosingStructures.Plugin.Test.csproj) (revision fbf9eca188c20c352a702ee20c183e5dc3c7acf1) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/Ringtoets.ClosingStructures.Plugin.Test.csproj (.../Ringtoets.ClosingStructures.Plugin.Test.csproj) (revision 5586f52de59cc0f9a350161b00cb9e63dcda0b5c) @@ -56,7 +56,7 @@ - + Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/ViewInfos/ClosingStructuresFailureMechanismResultViewInfoTest.cs =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/ViewInfos/ClosingStructuresFailureMechanismResultViewInfoTest.cs (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/ViewInfos/ClosingStructuresFailureMechanismResultViewInfoTest.cs (revision 5586f52de59cc0f9a350161b00cb9e63dcda0b5c) @@ -0,0 +1,322 @@ +// Copyright (C) Stichting Deltares 2016. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System.Collections.Generic; +using System.Linq; +using Core.Common.Gui.Plugin; +using Core.Common.TestUtil; +using NUnit.Framework; +using Rhino.Mocks; +using Ringtoets.ClosingStructures.Data; +using Ringtoets.ClosingStructures.Forms.PresentationObjects; +using Ringtoets.ClosingStructures.Forms.Views; +using Ringtoets.Common.Data.AssessmentSection; +using Ringtoets.Common.Data.Calculation; +using Ringtoets.Common.Data.FailureMechanism; +using Ringtoets.Common.Forms.PresentationObjects; +using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; + +namespace Ringtoets.ClosingStructures.Plugin.Test.ViewInfos +{ + [TestFixture] + public class ClosingStructuresFailureMechanismResultViewInfoTest + { + private MockRepository mocks; + private ViewInfo info; + + [SetUp] + public void SetUp() + { + mocks = new MockRepository(); + using (var plugin = new ClosingStructuresPlugin()) + { + info = plugin.GetViewInfos().First(tni => tni.ViewType == typeof(ClosingStructuresFailureMechanismResultView)); + } + } + + [Test] + public void Initialized_Always_ExpectedPropertiesSet() + { + // Assert + Assert.AreEqual(typeof(FailureMechanismSectionResultContext), info.DataType); + Assert.AreEqual(typeof(IEnumerable), info.ViewDataType); + } + + [Test] + public void GetViewData_Always_ReturnsWrappedFailureMechanismResult() + { + // Setup + var failureMechanism = new ClosingStructuresFailureMechanism(); + var context = new FailureMechanismSectionResultContext(failureMechanism.SectionResults, failureMechanism); + + // Call + var viewData = info.GetViewData(context); + + // Assert + Assert.AreSame(failureMechanism.SectionResults, viewData); + } + + [Test] + public void GetViewName_Always_ReturnsViewName() + { + // Setup + var failureMechanism = new ClosingStructuresFailureMechanism(); + var viewMock = mocks.StrictMock(); + mocks.ReplayAll(); + + // Call + var viewName = info.GetViewName(viewMock, failureMechanism.SectionResults); + + // Assert + Assert.AreEqual("Resultaat", viewName); + mocks.VerifyAll(); + } + + [Test] + public void ViewType_Always_ReturnsViewType() + { + // Call + var viewType = info.ViewType; + + // Assert + Assert.AreEqual(typeof(ClosingStructuresFailureMechanismResultView), viewType); + } + + [Test] + public void DataType_Always_ReturnsDataType() + { + // Call + var dataType = info.DataType; + + // Assert + Assert.AreEqual(typeof(FailureMechanismSectionResultContext), dataType); + } + + [Test] + public void ViewDataType_Always_ReturnsViewDataType() + { + // Call + var viewDataType = info.ViewDataType; + + // Assert + Assert.AreEqual(typeof(IEnumerable), viewDataType); + } + + [Test] + public void Image_Always_ReturnsFailureMechanismSectionResultIcon() + { + // Call + var image = info.Image; + + // Assert + TestHelper.AssertImagesAreEqual(RingtoetsCommonFormsResources.FailureMechanismSectionResultIcon, image); + } + + [Test] + public void CloseForData_AssessmentSectionRemovedWithoutFailureMechanism_ReturnsFalse() + { + // Setup + var assessmentSectionMock = mocks.StrictMock(); + assessmentSectionMock.Expect(asm => asm.GetFailureMechanisms()).Return(new IFailureMechanism[0]); + mocks.ReplayAll(); + + using (var view = new ClosingStructuresFailureMechanismResultView()) + { + var failureMechanism = new ClosingStructuresFailureMechanism(); + view.Data = failureMechanism.SectionResults; + + // Call + var closeForData = info.CloseForData(view, assessmentSectionMock); + + // Assert + Assert.IsFalse(closeForData); + } + mocks.VerifyAll(); + } + + [Test] + public void CloseForData_ViewNotCorrespondingToRemovedAssessmentSection_ReturnsFalse() + { + // Setup + var assessmentSectionMock = mocks.StrictMock(); + var failureMechanismMock = mocks.Stub("N", "C"); + var failureMechanism = new ClosingStructuresFailureMechanism(); + + assessmentSectionMock.Expect(asm => asm.GetFailureMechanisms()).Return(new[] + { + failureMechanismMock + }); + + mocks.ReplayAll(); + + using (var view = new ClosingStructuresFailureMechanismResultView()) + { + view.Data = failureMechanism.SectionResults; + + // Call + var closeForData = info.CloseForData(view, assessmentSectionMock); + + // Assert + Assert.IsFalse(closeForData); + } + mocks.VerifyAll(); + } + + [Test] + public void CloseForData_ViewCorrespondingToRemovedAssessmentSection_ReturnsTrue() + { + // Setup + var assessmentSectionMock = mocks.StrictMock(); + var failureMechanism = new ClosingStructuresFailureMechanism(); + + assessmentSectionMock.Expect(asm => asm.GetFailureMechanisms()).Return(new IFailureMechanism[] + { + new TestFailureMechanism(), + failureMechanism + }); + + mocks.ReplayAll(); + + using (var view = new ClosingStructuresFailureMechanismResultView()) + { + view.Data = failureMechanism.SectionResults; + + // Call + var closeForData = info.CloseForData(view, assessmentSectionMock); + + // Assert + Assert.IsTrue(closeForData); + } + mocks.VerifyAll(); + } + + [Test] + public void CloseForData_ViewCorrespondingToRemovedFailureMechanism_ReturnsTrue() + { + // Setup + using (var view = new ClosingStructuresFailureMechanismResultView()) + { + var failureMechanism = new ClosingStructuresFailureMechanism(); + view.Data = failureMechanism.SectionResults; + + // Call + var closeForData = info.CloseForData(view, failureMechanism); + + // Assert + Assert.IsTrue(closeForData); + } + } + + [Test] + public void CloseForData_ViewNotCorrespondingToRemovedFailureMechanismContext_ReturnsFalse() + { + // Setup + using (var view = new ClosingStructuresFailureMechanismResultView()) + { + var failureMechanism = new ClosingStructuresFailureMechanism(); + view.Data = failureMechanism.SectionResults; + + // Call + var closeForData = info.CloseForData(view, new ClosingStructuresFailureMechanism()); + + // Assert + Assert.IsFalse(closeForData); + } + } + + [Test] + public void CloseForData_ViewCorrespondingToRemovedFailureMechanismContext_ReturnsTrue() + { + // Setup + var assessmentSectionMock = mocks.StrictMock(); + mocks.ReplayAll(); + + var failureMechanism = new ClosingStructuresFailureMechanism(); + var failureMechanismContext = new ClosingStructuresFailureMechanismContext(failureMechanism, assessmentSectionMock); + + using (var view = new ClosingStructuresFailureMechanismResultView()) + { + view.Data = failureMechanism.SectionResults; + + // Call + var closeForData = info.CloseForData(view, failureMechanismContext); + + // Assert + Assert.IsTrue(closeForData); + } + mocks.VerifyAll(); + } + + [Test] + public void CloseForData_ViewNotCorrespondingToRemovedFailureMechanism_ReturnsFalse() + { + // Setup + var assessmentSectionMock = mocks.StrictMock(); + mocks.ReplayAll(); + + var failureMechanism = new ClosingStructuresFailureMechanism(); + using (var view = new ClosingStructuresFailureMechanismResultView()) + { + view.Data = failureMechanism.SectionResults; + + var failureMechanismContext = new ClosingStructuresFailureMechanismContext(new ClosingStructuresFailureMechanism(), + assessmentSectionMock); + + // Call + var closeForData = info.CloseForData(view, failureMechanismContext); + + // Assert + Assert.IsFalse(closeForData); + } + mocks.VerifyAll(); + } + + [Test] + public void AfterCreate_Always_SetsSpecificPropertiesToView() + { + // Setup + var failureMechanism = new ClosingStructuresFailureMechanism(); + var view = mocks.StrictMock(); + var context = new FailureMechanismSectionResultContext(failureMechanism.SectionResults, failureMechanism); + view.Expect(v => v.FailureMechanism = failureMechanism); + mocks.ReplayAll(); + + // Call + info.AfterCreate(view, context); + + // Assert + mocks.VerifyAll(); + } + + private class TestFailureMechanism : FailureMechanismBase + { + public TestFailureMechanism() : base("Name", "FailureMechanismCode") {} + + public override IEnumerable Calculations + { + get + { + return null; + } + } + } + } +} \ No newline at end of file Fisheye: Tag 5586f52de59cc0f9a350161b00cb9e63dcda0b5c refers to a dead (removed) revision in file `Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/ViewInfos/ClosingStructuresResultViewInfoTest.cs'. Fisheye: No comparison available. Pass `N' to diff?