Index: Riskeer/Common/src/Riskeer.Common.Forms/Views/NonAdoptableWithProfileProbabilityFailureMechanismResultView.cs =================================================================== diff -u -r2403c53d0beb6de3a1ce14df03f6cb6dd0d73603 -rbeb53090653c24721fa1d9c3cd066a08efa06415 --- Riskeer/Common/src/Riskeer.Common.Forms/Views/NonAdoptableWithProfileProbabilityFailureMechanismResultView.cs (.../NonAdoptableWithProfileProbabilityFailureMechanismResultView.cs) (revision 2403c53d0beb6de3a1ce14df03f6cb6dd0d73603) +++ Riskeer/Common/src/Riskeer.Common.Forms/Views/NonAdoptableWithProfileProbabilityFailureMechanismResultView.cs (.../NonAdoptableWithProfileProbabilityFailureMechanismResultView.cs) (revision beb53090653c24721fa1d9c3cd066a08efa06415) @@ -104,7 +104,7 @@ InitialFailureMechanismResultTypeIndex = initialFailureMechanismResultTypeIndex, InitialFailureMechanismResultProfileProbabilityIndex = initialFailureMechanismResultProfileProbabilityIndex, InitialFailureMechanismResultSectionProbabilityIndex = initialFailureMechanismResultSectionProbabilityIndex, - FurtherAnalysisNeededIndex = furtherAnalysisTypeIndex, + FurtherAnalysisTypeIndex = furtherAnalysisTypeIndex, RefinedProfileProbabilityIndex = refinedProfileProbabilityIndex, RefinedSectionProbabilityIndex = refinedSectionProbabilityIndex, ProfileProbabilityIndex = profileProbabilityIndex, Index: Riskeer/Common/src/Riskeer.Common.Forms/Views/NonAdoptableWithProfileProbabilityFailureMechanismSectionResultRow.cs =================================================================== diff -u -r792da2121b5172937e21ca619e9a9a424880457a -rbeb53090653c24721fa1d9c3cd066a08efa06415 --- Riskeer/Common/src/Riskeer.Common.Forms/Views/NonAdoptableWithProfileProbabilityFailureMechanismSectionResultRow.cs (.../NonAdoptableWithProfileProbabilityFailureMechanismSectionResultRow.cs) (revision 792da2121b5172937e21ca619e9a9a424880457a) +++ Riskeer/Common/src/Riskeer.Common.Forms/Views/NonAdoptableWithProfileProbabilityFailureMechanismSectionResultRow.cs (.../NonAdoptableWithProfileProbabilityFailureMechanismSectionResultRow.cs) (revision beb53090653c24721fa1d9c3cd066a08efa06415) @@ -42,7 +42,7 @@ private readonly int initialFailureMechanismResultTypeIndex; private readonly int initialFailureMechanismResultProfileProbabilityIndex; private readonly int initialFailureMechanismResultSectionProbabilityIndex; - private readonly int furtherAnalysisNeededIndex; + private readonly int furtherAnalysisTypeIndex; private readonly int refinedProfileProbabilityIndex; private readonly int refinedSectionProbabilityIndex; private readonly int profileProbabilityIndex; @@ -100,7 +100,7 @@ initialFailureMechanismResultTypeIndex = constructionProperties.InitialFailureMechanismResultTypeIndex; initialFailureMechanismResultProfileProbabilityIndex = constructionProperties.InitialFailureMechanismResultProfileProbabilityIndex; initialFailureMechanismResultSectionProbabilityIndex = constructionProperties.InitialFailureMechanismResultSectionProbabilityIndex; - furtherAnalysisNeededIndex = constructionProperties.FurtherAnalysisNeededIndex; + furtherAnalysisTypeIndex = constructionProperties.FurtherAnalysisTypeIndex; refinedProfileProbabilityIndex = constructionProperties.RefinedProfileProbabilityIndex; refinedSectionProbabilityIndex = constructionProperties.RefinedSectionProbabilityIndex; profileProbabilityIndex = constructionProperties.ProfileProbabilityIndex; @@ -170,19 +170,6 @@ } /// - /// Gets or sets whether further analysis is needed. - /// - public bool FurtherAnalysisNeeded - { - get => SectionResult.FurtherAnalysisNeeded; - set - { - SectionResult.FurtherAnalysisNeeded = value; - UpdateInternalData(); - } - } - - /// /// Gets or sets the further analysis type. /// public FailureMechanismSectionResultFurtherAnalysisType FurtherAnalysisType @@ -275,7 +262,7 @@ ColumnStateDefinitions[refinedProfileProbabilityIndex].ErrorText = string.Empty; ColumnStateDefinitions[refinedSectionProbabilityIndex].ErrorText = string.Empty; - if (SectionResult.IsRelevant && SectionResult.FurtherAnalysisNeeded) + if (SectionResult.IsRelevant && SectionResult.FurtherAnalysisType == FailureMechanismSectionResultFurtherAnalysisType.Executed) { ColumnStateDefinitions[refinedProfileProbabilityIndex].ErrorText = failureMechanismSectionResultRowErrorProvider.GetManualProbabilityValidationError( RefinedProfileProbability); @@ -306,14 +293,14 @@ { AssemblyResult = FailureMechanismSectionAssemblyGroupFactory.AssembleSection( assessmentSection, IsRelevant, InitialFailureMechanismResultType, InitialFailureMechanismResultProfileProbability, - InitialFailureMechanismResultSectionProbability, FurtherAnalysisNeeded, + InitialFailureMechanismResultSectionProbability, FurtherAnalysisType == FailureMechanismSectionResultFurtherAnalysisType.Executed, SectionResult.RefinedProfileProbability, SectionResult.RefinedSectionProbability); } else { AssemblyResult = FailureMechanismSectionAssemblyGroupFactory.AssembleSection( assessmentSection, IsRelevant, InitialFailureMechanismResultType, - InitialFailureMechanismResultSectionProbability, FurtherAnalysisNeeded, + InitialFailureMechanismResultSectionProbability, FurtherAnalysisType == FailureMechanismSectionResultFurtherAnalysisType.Executed, SectionResult.RefinedSectionProbability); } } @@ -332,7 +319,7 @@ ColumnStateDefinitions.Add(initialFailureMechanismResultTypeIndex, new DataGridViewColumnStateDefinition()); ColumnStateDefinitions.Add(initialFailureMechanismResultProfileProbabilityIndex, new DataGridViewColumnStateDefinition()); ColumnStateDefinitions.Add(initialFailureMechanismResultSectionProbabilityIndex, new DataGridViewColumnStateDefinition()); - ColumnStateDefinitions.Add(furtherAnalysisNeededIndex, new DataGridViewColumnStateDefinition()); + ColumnStateDefinitions.Add(furtherAnalysisTypeIndex, new DataGridViewColumnStateDefinition()); ColumnStateDefinitions.Add(refinedProfileProbabilityIndex, new DataGridViewColumnStateDefinition()); ColumnStateDefinitions.Add(refinedSectionProbabilityIndex, new DataGridViewColumnStateDefinition()); ColumnStateDefinitions.Add(profileProbabilityIndex, DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition()); @@ -356,9 +343,9 @@ ColumnStateHelper.EnableColumn(ColumnStateDefinitions[initialFailureMechanismResultSectionProbabilityIndex]); } - ColumnStateHelper.SetColumnState(ColumnStateDefinitions[furtherAnalysisNeededIndex], !IsRelevant); + ColumnStateHelper.SetColumnState(ColumnStateDefinitions[furtherAnalysisTypeIndex], !IsRelevant); - if (!IsRelevant || !FurtherAnalysisNeeded) + if (!IsRelevant || FurtherAnalysisType != FailureMechanismSectionResultFurtherAnalysisType.Executed) { ColumnStateHelper.DisableColumn(ColumnStateDefinitions[refinedProfileProbabilityIndex]); ColumnStateHelper.DisableColumn(ColumnStateDefinitions[refinedSectionProbabilityIndex]); @@ -393,9 +380,9 @@ public int InitialFailureMechanismResultSectionProbabilityIndex { internal get; set; } /// - /// Sets the further analysis needed index. + /// Sets the further analysis type index. /// - public int FurtherAnalysisNeededIndex { internal get; set; } + public int FurtherAnalysisTypeIndex { internal get; set; } /// /// Sets the refined profile probability index. Index: Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/NonAdoptableWithProfileProbabilityFailureMechanismSectionResultRowTest.cs =================================================================== diff -u -r792da2121b5172937e21ca619e9a9a424880457a -rbeb53090653c24721fa1d9c3cd066a08efa06415 --- Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/NonAdoptableWithProfileProbabilityFailureMechanismSectionResultRowTest.cs (.../NonAdoptableWithProfileProbabilityFailureMechanismSectionResultRowTest.cs) (revision 792da2121b5172937e21ca619e9a9a424880457a) +++ Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/NonAdoptableWithProfileProbabilityFailureMechanismSectionResultRowTest.cs (.../NonAdoptableWithProfileProbabilityFailureMechanismSectionResultRowTest.cs) (revision beb53090653c24721fa1d9c3cd066a08efa06415) @@ -53,7 +53,7 @@ InitialFailureMechanismResultTypeIndex = 2, InitialFailureMechanismResultProfileProbabilityIndex = 3, InitialFailureMechanismResultSectionProbabilityIndex = 4, - FurtherAnalysisNeededIndex = 5, + FurtherAnalysisTypeIndex = 5, RefinedProfileProbabilityIndex = 6, RefinedSectionProbabilityIndex = 7, ProfileProbabilityIndex = 8, @@ -170,7 +170,6 @@ Assert.AreEqual(result.InitialFailureMechanismResultType, row.InitialFailureMechanismResultType); Assert.AreEqual(result.ManualInitialFailureMechanismResultProfileProbability, row.InitialFailureMechanismResultProfileProbability); Assert.AreEqual(result.ManualInitialFailureMechanismResultSectionProbability, row.InitialFailureMechanismResultSectionProbability); - Assert.AreEqual(result.FurtherAnalysisNeeded, row.FurtherAnalysisNeeded); Assert.AreEqual(result.FurtherAnalysisType, row.FurtherAnalysisType); Assert.AreEqual(result.RefinedProfileProbability, row.RefinedProfileProbability); Assert.AreEqual(result.RefinedSectionProbability, row.RefinedSectionProbability); @@ -196,7 +195,7 @@ DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnStateDefinition(columnStateDefinitions, ConstructionProperties.InitialFailureMechanismResultTypeIndex); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnStateDefinition(columnStateDefinitions, ConstructionProperties.InitialFailureMechanismResultProfileProbabilityIndex); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnStateDefinition(columnStateDefinitions, ConstructionProperties.InitialFailureMechanismResultSectionProbabilityIndex); - DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnStateDefinition(columnStateDefinitions, ConstructionProperties.FurtherAnalysisNeededIndex); + DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnStateDefinition(columnStateDefinitions, ConstructionProperties.FurtherAnalysisTypeIndex); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnStateDefinition(columnStateDefinitions, ConstructionProperties.RefinedProfileProbabilityIndex); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnStateDefinition(columnStateDefinitions, ConstructionProperties.RefinedSectionProbabilityIndex); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnStateDefinition(columnStateDefinitions, ConstructionProperties.ProfileProbabilityIndex); @@ -286,7 +285,7 @@ } [Test] - public void GivenRowWithFurtherAnalysisNeededTrue_WhenErrorProviderReturnsError_ThenShowsError() + public void GivenRowWithFurtherAnalysisTypeExecuted_WhenErrorProviderReturnsError_ThenShowsError() { // Given var random = new Random(21); @@ -309,7 +308,7 @@ var result = new NonAdoptableWithProfileProbabilityFailureMechanismSectionResult(section) { InitialFailureMechanismResultType = NonAdoptableInitialFailureMechanismResultType.NoFailureProbability, - FurtherAnalysisNeeded = true, + FurtherAnalysisType = FailureMechanismSectionResultFurtherAnalysisType.Executed, RefinedProfileProbability = profileProbability, RefinedSectionProbability = sectionProbability }; @@ -329,7 +328,9 @@ } [Test] - public void GivenRowWithFurtherAnalysisNeededFalse_WhenErrorProviderReturnsError_ThenShowsNoError() + [TestCase(FailureMechanismSectionResultFurtherAnalysisType.NotNecessary)] + [TestCase(FailureMechanismSectionResultFurtherAnalysisType.Necessary)] + public void GivenRowWithFurtherAnalysisNotExecuted_WhenErrorProviderReturnsError_ThenShowsNoError(FailureMechanismSectionResultFurtherAnalysisType furtherAnalysisType) { // Given var random = new Random(21); @@ -348,7 +349,7 @@ var result = new NonAdoptableWithProfileProbabilityFailureMechanismSectionResult(section) { InitialFailureMechanismResultType = NonAdoptableInitialFailureMechanismResultType.NoFailureProbability, - FurtherAnalysisNeeded = false, + FurtherAnalysisType = furtherAnalysisType, RefinedProfileProbability = profileProbability, RefinedSectionProbability = sectionProbability }; @@ -426,16 +427,6 @@ } [Test] - public void FurtherAnalysisNeeded_SetNewValue_NotifyObserversAndPropertyChanged() - { - const bool newValue = true; - Property_SetNewValue_NotifyObserversAndPropertyChanged( - row => row.FurtherAnalysisNeeded = newValue, - result => result.FurtherAnalysisNeeded, - newValue); - } - - [Test] public void FurtherAnalysisType_SetNewValue_NotifyObserversAndPropertyChanged() { const FailureMechanismSectionResultFurtherAnalysisType newValue = FailureMechanismSectionResultFurtherAnalysisType.Necessary; @@ -578,7 +569,7 @@ Assert.AreEqual(row.IsRelevant, input.IsRelevant); Assert.IsTrue(input.HasProbabilitySpecified); Assert.AreEqual(row.InitialFailureMechanismResultSectionProbability, input.InitialSectionProbability); - Assert.AreEqual(row.FurtherAnalysisNeeded, input.FurtherAnalysisNeeded); + Assert.AreEqual(row.FurtherAnalysisType == FailureMechanismSectionResultFurtherAnalysisType.Executed, input.FurtherAnalysisNeeded); Assert.AreEqual(row.RefinedSectionProbability, input.RefinedSectionProbability); } @@ -620,7 +611,7 @@ Assert.IsTrue(input.HasProbabilitySpecified); Assert.AreEqual(row.InitialFailureMechanismResultProfileProbability, input.InitialProfileProbability); Assert.AreEqual(row.InitialFailureMechanismResultSectionProbability, input.InitialSectionProbability); - Assert.AreEqual(row.FurtherAnalysisNeeded, input.FurtherAnalysisNeeded); + Assert.AreEqual(row.FurtherAnalysisType == FailureMechanismSectionResultFurtherAnalysisType.Executed, input.FurtherAnalysisNeeded); Assert.AreEqual(row.RefinedProfileProbability, input.RefinedProfileProbability); Assert.AreEqual(row.RefinedSectionProbability, input.RefinedSectionProbability); } @@ -848,7 +839,7 @@ var result = new NonAdoptableWithProfileProbabilityFailureMechanismSectionResult(section) { IsRelevant = isRelevant, - FurtherAnalysisNeeded = true, + FurtherAnalysisType = FailureMechanismSectionResultFurtherAnalysisType.Executed, InitialFailureMechanismResultType = NonAdoptableInitialFailureMechanismResultType.Manual }; @@ -867,7 +858,7 @@ DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnState( columnStateDefinitions[ConstructionProperties.InitialFailureMechanismResultSectionProbabilityIndex], isRelevant); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnState( - columnStateDefinitions[ConstructionProperties.FurtherAnalysisNeededIndex], isRelevant); + columnStateDefinitions[ConstructionProperties.FurtherAnalysisTypeIndex], isRelevant); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnState( columnStateDefinitions[ConstructionProperties.RefinedProfileProbabilityIndex], isRelevant); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnState( @@ -916,9 +907,11 @@ } [Test] - [TestCase(true)] - [TestCase(false)] - public void Constructor_WithFurtherAnalysisNeeded_ExpectedColumnStates(bool furtherAnalysisNeeded) + [TestCase(FailureMechanismSectionResultFurtherAnalysisType.NotNecessary, false)] + [TestCase(FailureMechanismSectionResultFurtherAnalysisType.Necessary, false)] + [TestCase(FailureMechanismSectionResultFurtherAnalysisType.Executed, true)] + public void Constructor_WithFurtherAnalysisType_ExpectedColumnStates(FailureMechanismSectionResultFurtherAnalysisType furtherAnalysisType, + bool expectedDisabled) { // Setup var mocks = new MockRepository(); @@ -932,7 +925,7 @@ FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); var result = new NonAdoptableWithProfileProbabilityFailureMechanismSectionResult(section) { - FurtherAnalysisNeeded = furtherAnalysisNeeded + FurtherAnalysisType = furtherAnalysisType }; using (new AssemblyToolCalculatorFactoryConfig()) @@ -944,9 +937,9 @@ IDictionary columnStateDefinitions = row.ColumnStateDefinitions; DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnState( - columnStateDefinitions[ConstructionProperties.RefinedProfileProbabilityIndex], furtherAnalysisNeeded); + columnStateDefinitions[ConstructionProperties.RefinedProfileProbabilityIndex], expectedDisabled); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnState( - columnStateDefinitions[ConstructionProperties.RefinedSectionProbabilityIndex], furtherAnalysisNeeded); + columnStateDefinitions[ConstructionProperties.RefinedSectionProbabilityIndex], expectedDisabled); } mocks.VerifyAll();