Index: Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs =================================================================== diff -u -rc62bff4ec2aab16d09f765bd47b4fde9b36a2fd7 -r7c36cec6a0c90ebb453f12289836c410baf4301a --- Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs (.../RiskeerPlugin.cs) (revision c62bff4ec2aab16d09f765bd47b4fde9b36a2fd7) +++ Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs (.../RiskeerPlugin.cs) (revision 7c36cec6a0c90ebb453f12289836c410baf4301a) @@ -519,15 +519,8 @@ context.WrappedData, (GrassCoverSlipOffOutwardsFailureMechanism) context.FailureMechanism)); - yield return CreateFailureMechanismResultViewInfo< - MicrostabilityFailureMechanism, - MicrostabilityFailureMechanismSectionResultOld, - MicrostabilityResultViewOld, - MicrostabilitySectionResultRowOld, - FailureMechanismAssemblyCategoryGroupControl>( - context => new MicrostabilityResultViewOld( - context.WrappedData, - (MicrostabilityFailureMechanism) context.FailureMechanism)); + yield return CreateFailureMechanismResultViewInfo( + fm => fm.GeneralInput.N, fm => fm.GeneralInput.ApplyLengthEffectInSection); yield return CreateFailureMechanismResultViewInfo( fm => fm.GeneralInput.N); @@ -1322,12 +1315,32 @@ { GetViewName = (view, context) => RiskeerCommonFormsResources.FailureMechanism_AssessmentResult_DisplayName, GetViewData = context => context.WrappedData, - CloseForData = CloseFailureMechanismResultViewForData, + CloseForData = CloseFailureMechanismResultViewForData, NonAdoptableFailureMechanismSectionResultRow>, CreateInstance = context => new NonAdoptableFailureMechanismResultView( context.WrappedData, (TFailureMechanism) context.FailureMechanism, context.AssessmentSection, getNFunc) }; } + private ViewInfo, NonAdoptableWithProfileProbabilityFailureMechanismResultView> CreateFailureMechanismResultViewInfo( + Func getNFunc, Func getUseLengthEffectFunc) + where TContext : ProbabilityFailureMechanismSectionResultContext + where TFailureMechanism : class, IHasSectionResults + { + return new RiskeerViewInfo< + TContext, + IObservableEnumerable, + NonAdoptableWithProfileProbabilityFailureMechanismResultView>(() => Gui) + { + GetViewName = (view, context) => RiskeerCommonFormsResources.FailureMechanism_AssessmentResult_DisplayName, + GetViewData = context => context.WrappedData, + CloseForData = CloseFailureMechanismResultViewForData, NonAdoptableWithProfileProbabilityFailureMechanismSectionResultRow>, + CreateInstance = context => new NonAdoptableWithProfileProbabilityFailureMechanismResultView( + context.WrappedData, (TFailureMechanism) context.FailureMechanism, context.AssessmentSection, getNFunc, getUseLengthEffectFunc) + }; + } + private TreeNodeInfo CreateFailureMechanismSectionResultTreeNodeInfo() where TContext : ProbabilityFailureMechanismSectionResultContext where TSectionResult : NonAdoptableFailureMechanismSectionResult @@ -1691,8 +1704,11 @@ return false; } - private static bool CloseFailureMechanismResultViewForData(NonAdoptableFailureMechanismResultView view, object dataToCloseFor) - where TFailureMechanism : class, IHasSectionResults + private static bool CloseFailureMechanismResultViewForData(TView view, object dataToCloseFor) + where TFailureMechanism : class, IHasSectionResults + where TSectionResult : FailureMechanismSectionResult + where TSectionResultRow : FailureMechanismSectionResultRow + where TView : FailureMechanismResultView { TFailureMechanism failureMechanism = null; if (dataToCloseFor is IAssessmentSection assessmentSection) Index: Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/RiskeerPluginTest.cs =================================================================== diff -u -rc62bff4ec2aab16d09f765bd47b4fde9b36a2fd7 -r7c36cec6a0c90ebb453f12289836c410baf4301a --- Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/RiskeerPluginTest.cs (.../RiskeerPluginTest.cs) (revision c62bff4ec2aab16d09f765bd47b4fde9b36a2fd7) +++ Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/RiskeerPluginTest.cs (.../RiskeerPluginTest.cs) (revision 7c36cec6a0c90ebb453f12289836c410baf4301a) @@ -487,9 +487,9 @@ PluginTestHelper.AssertViewInfoDefined( viewInfos, - typeof(FailureMechanismSectionResultContext), - typeof(IObservableEnumerable), - typeof(MicrostabilityResultViewOld)); + typeof(MicrostabilityFailureMechanismSectionResultContext), + typeof(IObservableEnumerable), + typeof(NonAdoptableWithProfileProbabilityFailureMechanismResultView)); PluginTestHelper.AssertViewInfoDefined( viewInfos, Index: Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/ViewInfos/MicrostabilityResultViewInfoTest.cs =================================================================== diff -u -r72082701dd10333c0dd79313fca6191306d134a7 -r7c36cec6a0c90ebb453f12289836c410baf4301a --- Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/ViewInfos/MicrostabilityResultViewInfoTest.cs (.../MicrostabilityResultViewInfoTest.cs) (revision 72082701dd10333c0dd79313fca6191306d134a7) +++ Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/ViewInfos/MicrostabilityResultViewInfoTest.cs (.../MicrostabilityResultViewInfoTest.cs) (revision 7c36cec6a0c90ebb453f12289836c410baf4301a) @@ -28,9 +28,9 @@ using Riskeer.Common.Data.AssessmentSection; using Riskeer.Common.Data.FailureMechanism; using Riskeer.Common.Forms.PresentationObjects; +using Riskeer.Common.Forms.Views; using Riskeer.Integration.Data.StandAlone; -using Riskeer.Integration.Data.StandAlone.SectionResults; -using Riskeer.Integration.Forms.Views.SectionResultViews; +using Riskeer.Integration.Forms.PresentationObjects.StandAlone; namespace Riskeer.Integration.Plugin.Test.ViewInfos { @@ -46,7 +46,7 @@ { mocks = new MockRepository(); plugin = new RiskeerPlugin(); - info = plugin.GetViewInfos().First(tni => tni.ViewType == typeof(MicrostabilityResultViewOld)); + info = plugin.GetViewInfos().First(tni => tni.ViewType == typeof(NonAdoptableWithProfileProbabilityFailureMechanismResultView)); } [TearDown] @@ -59,23 +59,26 @@ public void Initialized_Always_ExpectedPropertiesSet() { // Assert - Assert.AreEqual(typeof(FailureMechanismSectionResultContext), info.DataType); - Assert.AreEqual(typeof(IObservableEnumerable), info.ViewDataType); + Assert.AreEqual(typeof(MicrostabilityFailureMechanismSectionResultContext), info.DataType); + Assert.AreEqual(typeof(IObservableEnumerable), info.ViewDataType); } [Test] public void GetViewData_WithContext_ReturnsWrappedFailureMechanismResult() { // Setup + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); + var failureMechanism = new MicrostabilityFailureMechanism(); - var context = new FailureMechanismSectionResultContext(failureMechanism.SectionResultsOld, - failureMechanism); + var context = new MicrostabilityFailureMechanismSectionResultContext(failureMechanism.SectionResults, failureMechanism, assessmentSection); // Call object viewData = info.GetViewData(context); // Assert - Assert.AreSame(failureMechanism.SectionResultsOld, viewData); + Assert.AreSame(failureMechanism.SectionResults, viewData); + mocks.VerifyAll(); } [Test] @@ -93,130 +96,142 @@ { // Setup var assessmentSection = mocks.Stub(); - var failureMechanism = new MicrostabilityFailureMechanism(); - assessmentSection.Stub(asm => asm.GetFailureMechanisms()).Return(new IFailureMechanism[0]); - mocks.ReplayAll(); - using (var view = new MicrostabilityResultViewOld(failureMechanism.SectionResultsOld, failureMechanism)) + var failureMechanism = new MicrostabilityFailureMechanism(); + + using (var view = new NonAdoptableWithProfileProbabilityFailureMechanismResultView( + failureMechanism.SectionResults, failureMechanism, assessmentSection, fm => fm.GeneralInput.N, fm => fm.GeneralInput.ApplyLengthEffectInSection)) { // Call bool closeForData = info.CloseForData(view, assessmentSection); // Assert Assert.IsFalse(closeForData); - mocks.VerifyAll(); } + + mocks.VerifyAll(); } [Test] public void CloseForData_ViewNotCorrespondingToRemovedAssessmentSection_ReturnsFalse() { // Setup - var assessmentSection = mocks.Stub(); - var failureMechanism = new MicrostabilityFailureMechanism(); var otherFailureMechanism = mocks.Stub(); - + var assessmentSection = mocks.Stub(); assessmentSection.Stub(asm => asm.GetFailureMechanisms()).Return(new[] { otherFailureMechanism }); - mocks.ReplayAll(); - using (var view = new MicrostabilityResultViewOld(failureMechanism.SectionResultsOld, failureMechanism)) + var failureMechanism = new MicrostabilityFailureMechanism(); + + using (var view = new NonAdoptableWithProfileProbabilityFailureMechanismResultView( + failureMechanism.SectionResults, failureMechanism, assessmentSection, fm => fm.GeneralInput.N, fm => fm.GeneralInput.ApplyLengthEffectInSection)) { // Call bool closeForData = info.CloseForData(view, assessmentSection); // Assert Assert.IsFalse(closeForData); - mocks.VerifyAll(); } + + mocks.VerifyAll(); } [Test] public void CloseForData_ViewCorrespondingToRemovedAssessmentSection_ReturnsTrue() { // Setup - var assessmentSection = mocks.Stub(); var failureMechanism = new MicrostabilityFailureMechanism(); + var assessmentSection = mocks.Stub(); assessmentSection.Stub(asm => asm.GetFailureMechanisms()).Return(new IFailureMechanism[] { failureMechanism }); - mocks.ReplayAll(); - using (var view = new MicrostabilityResultViewOld(failureMechanism.SectionResultsOld, failureMechanism)) + using (var view = new NonAdoptableWithProfileProbabilityFailureMechanismResultView( + failureMechanism.SectionResults, failureMechanism, assessmentSection, fm => fm.GeneralInput.N, fm => fm.GeneralInput.ApplyLengthEffectInSection)) { // Call bool closeForData = info.CloseForData(view, assessmentSection); // Assert Assert.IsTrue(closeForData); - mocks.VerifyAll(); } + + mocks.VerifyAll(); } [Test] public void CloseForData_ViewCorrespondingToRemovedFailureMechanismContext_ReturnsTrue() { // Setup - var failurePathContext = mocks.StrictMock>(); var failureMechanism = new MicrostabilityFailureMechanism(); - failurePathContext.Expect(fm => fm.WrappedData).Return(failureMechanism); + var assessmentSection = mocks.Stub(); + var failurePathContext = mocks.StrictMock>(); + failurePathContext.Expect(fm => fm.WrappedData).Return(failureMechanism); mocks.ReplayAll(); - using (var view = new MicrostabilityResultViewOld(failureMechanism.SectionResultsOld, failureMechanism)) + using (var view = new NonAdoptableWithProfileProbabilityFailureMechanismResultView( + failureMechanism.SectionResults, failureMechanism, assessmentSection, fm => fm.GeneralInput.N, fm => fm.GeneralInput.ApplyLengthEffectInSection)) { // Call bool closeForData = info.CloseForData(view, failurePathContext); // Assert Assert.IsTrue(closeForData); - mocks.VerifyAll(); } + + mocks.VerifyAll(); } [Test] public void CloseForData_ViewNotCorrespondingToRemovedFailureMechanismContext_ReturnsFalse() { // Setup + var assessmentSection = mocks.Stub(); var failurePathContext = mocks.StrictMock>(); failurePathContext.Expect(fm => fm.WrappedData).Return(new MicrostabilityFailureMechanism()); mocks.ReplayAll(); var failureMechanism = new MicrostabilityFailureMechanism(); - using (var view = new MicrostabilityResultViewOld(failureMechanism.SectionResultsOld, failureMechanism)) + using (var view = new NonAdoptableWithProfileProbabilityFailureMechanismResultView( + failureMechanism.SectionResults, failureMechanism, assessmentSection, fm => fm.GeneralInput.N, fm => fm.GeneralInput.ApplyLengthEffectInSection)) { // Call bool closeForData = info.CloseForData(view, failurePathContext); // Assert Assert.IsFalse(closeForData); - mocks.VerifyAll(); } + + mocks.VerifyAll(); } [Test] public void CreateInstance_WithContext_ReturnsView() { // Setup + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); + var failureMechanism = new MicrostabilityFailureMechanism(); - var context = new FailureMechanismSectionResultContext( - failureMechanism.SectionResultsOld, - failureMechanism); + var context = new MicrostabilityFailureMechanismSectionResultContext( + failureMechanism.SectionResults, failureMechanism, assessmentSection); // Call IView view = info.CreateInstance(context); // Assert - Assert.IsInstanceOf(view); + Assert.IsInstanceOf>(view); + mocks.VerifyAll(); } } } \ No newline at end of file