Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/Assembly/AssessmentSectionAssemblyFactoryTest.cs =================================================================== diff -u -r1b106234111fd8b4e9e83604d00743264b47eb3a -r9244e97aa2d6ccaf1ca7eb23f0fe200b85a7fe8a --- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/Assembly/AssessmentSectionAssemblyFactoryTest.cs (.../AssessmentSectionAssemblyFactoryTest.cs) (revision 1b106234111fd8b4e9e83604d00743264b47eb3a) +++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/Assembly/AssessmentSectionAssemblyFactoryTest.cs (.../AssessmentSectionAssemblyFactoryTest.cs) (revision 9244e97aa2d6ccaf1ca7eb23f0fe200b85a7fe8a) @@ -45,6 +45,7 @@ using Ringtoets.Integration.Data.Assembly; using Ringtoets.Integration.Data.StandAlone; using Ringtoets.Integration.Data.StandAlone.SectionResults; +using Ringtoets.Integration.Data.TestUtil; using Ringtoets.Integration.TestUtil; using Ringtoets.MacroStabilityInwards.Data; using Ringtoets.Piping.Data; @@ -171,46 +172,29 @@ #region Manual Assembly Used - #region Piping - [Test] - public void GivenAssessmentSectionWithPipingConfigured_WhenAssemblingFailureMechanismsWithProbabilityAndUseManualTrue_ThenInputSetOnCalculator() + [TestCaseSource(typeof(AssessmentSectionAssemblyTestHelper), nameof(AssessmentSectionAssemblyTestHelper.GetConfiguredAssessmentSectionWithGroup1And2FailureMechanisms))] + public void AssembleFailureMechanismsWithProbability_AssessmentSectionWithFailureMechanismWithManualAssemblyAndUseManualTrue_SetsInputOnCalculator(AssessmentSection assessmentSection) { - // Given - AssessmentSection assessmentSection = CreateAssessmentSection(); - PipingFailureMechanism failureMechanism = assessmentSection.Piping; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - - PipingFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - double probability = new Random(39).NextDouble(); - sectionResult.ManualAssemblyProbability = probability; - + // Setup using (new AssemblyToolCalculatorFactoryConfig()) { - // When + // Call AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(assessmentSection, true); - // Then + // Assert var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; FailureMechanismSectionAssemblyCalculatorStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.AreEqual(probability, failureMechanismSectionAssemblyCalculator.ManualAssemblyProbabilityInput); + FailureMechanismAssemblyCalculatorStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; + Assert.AreSame(failureMechanismSectionAssemblyCalculator.ManualAssemblyAssemblyOutput, failureMechanismAssemblyCalculator.FailureMechanismSectionAssemblies.Single()); } } [Test] - public void GivenAssessmentSectionWithPipingConfigured_WhenAssemblingFailureMechanismsWithProbabilityAndUseManualFalse_ThenNoInputSetOnCalculator() + [TestCaseSource(typeof(AssessmentSectionAssemblyTestHelper), nameof(AssessmentSectionAssemblyTestHelper.GetConfiguredAssessmentSectionWithGroup1And2FailureMechanisms))] + public void AssembleFailureMechanismsWithProbability_AssessmentSectionWithFailureMechanismWithManualAssemblyAndUseManualFalse_SetsInputOnCalculator(AssessmentSection assessmentSection) { - // Given - AssessmentSection assessmentSection = CreateAssessmentSection(); - PipingFailureMechanism failureMechanism = assessmentSection.Piping; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - - PipingFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - double probability = new Random(39).NextDouble(); - sectionResult.ManualAssemblyProbability = probability; - + // Setup using (new AssemblyToolCalculatorFactoryConfig()) { // When @@ -219,286 +203,15 @@ // Then var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; FailureMechanismSectionAssemblyCalculatorStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.IsNull(failureMechanismSectionAssemblyCalculator.ManualAssemblyAssemblyOutput); + FailureMechanismAssemblyCalculatorStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; + Assert.AreSame(failureMechanismSectionAssemblyCalculator.CombinedAssemblyOutput, failureMechanismAssemblyCalculator.FailureMechanismSectionAssemblies.Single()); } } #endregion - #region MacroStabilityInwards - - [Test] - public void GivenAssessmentSectionWithMacroStabilityInwardsConfigured_WhenAssemblingFailureMechanismsWithProbabilityAndUseManualTrue_ThenInputSetOnCalculator() - { - // Given - AssessmentSection assessmentSection = CreateAssessmentSection(); - MacroStabilityInwardsFailureMechanism failureMechanism = assessmentSection.MacroStabilityInwards; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - - MacroStabilityInwardsFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - double probability = new Random(39).NextDouble(); - sectionResult.ManualAssemblyProbability = probability; - - using (new AssemblyToolCalculatorFactoryConfig()) - { - // When - AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(assessmentSection, true); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.AreEqual(probability, failureMechanismSectionAssemblyCalculator.ManualAssemblyProbabilityInput); - } - } - - [Test] - public void GivenAssessmentSectionWithMacroStabilityInwardsConfigured_WhenAssemblingFailureMechanismsWithProbabilityAndUseManualFalse_ThenNoInputSetOnCalculator() - { - // Given - AssessmentSection assessmentSection = CreateAssessmentSection(); - MacroStabilityInwardsFailureMechanism failureMechanism = assessmentSection.MacroStabilityInwards; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - - MacroStabilityInwardsFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - double probability = new Random(39).NextDouble(); - sectionResult.ManualAssemblyProbability = probability; - - using (new AssemblyToolCalculatorFactoryConfig()) - { - // When - AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(assessmentSection, false); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.IsNull(failureMechanismSectionAssemblyCalculator.ManualAssemblyAssemblyOutput); - } - } - #endregion - #region GrassCoverErosionInwards - - [Test] - public void GivenAssessmentSectionWithGrassCoverErosionInwardsConfigured_WhenAssemblingFailureMechanismsWithProbabilityAndUseManualTrue_ThenInputSetOnCalculator() - { - // Given - AssessmentSection assessmentSection = CreateAssessmentSection(); - GrassCoverErosionInwardsFailureMechanism failureMechanism = assessmentSection.GrassCoverErosionInwards; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - - GrassCoverErosionInwardsFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - double probability = new Random(39).NextDouble(); - sectionResult.ManualAssemblyProbability = probability; - - using (new AssemblyToolCalculatorFactoryConfig()) - { - // When - AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(assessmentSection, true); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.AreEqual(probability, failureMechanismSectionAssemblyCalculator.ManualAssemblyProbabilityInput); - } - } - - [Test] - public void GivenAssessmentSectionWithGrassCoverErosionInwardsConfigured_WhenAssemblingFailureMechanismsWithProbabilityAndUseManualFalse_ThenNoInputSetOnCalculator() - { - // Given - AssessmentSection assessmentSection = CreateAssessmentSection(); - GrassCoverErosionInwardsFailureMechanism failureMechanism = assessmentSection.GrassCoverErosionInwards; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - - GrassCoverErosionInwardsFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - double probability = new Random(39).NextDouble(); - sectionResult.ManualAssemblyProbability = probability; - - using (new AssemblyToolCalculatorFactoryConfig()) - { - // When - AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(assessmentSection, false); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.IsNull(failureMechanismSectionAssemblyCalculator.ManualAssemblyAssemblyOutput); - } - } - - #endregion - - #region ClosingStructures - - [Test] - public void GivenAssessmentSectionWithClosingStructuresConfigured_WhenAssemblingFailureMechanismsWithProbabilityAndUseManualTrue_ThenInputSetOnCalculator() - { - // Given - AssessmentSection assessmentSection = CreateAssessmentSection(); - ClosingStructuresFailureMechanism failureMechanism = assessmentSection.ClosingStructures; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - - ClosingStructuresFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - double probability = new Random(39).NextDouble(); - sectionResult.ManualAssemblyProbability = probability; - - using (new AssemblyToolCalculatorFactoryConfig()) - { - // When - AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(assessmentSection, true); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.AreEqual(probability, failureMechanismSectionAssemblyCalculator.ManualAssemblyProbabilityInput); - } - } - - [Test] - public void GivenAssessmentSectionWithClosingStructuresConfigured_WhenAssemblingFailureMechanismsWithProbabilityAndUseManualFalse_ThenNoInputSetOnCalculator() - { - // Given - AssessmentSection assessmentSection = CreateAssessmentSection(); - ClosingStructuresFailureMechanism failureMechanism = assessmentSection.ClosingStructures; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - - ClosingStructuresFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - double probability = new Random(39).NextDouble(); - sectionResult.ManualAssemblyProbability = probability; - - using (new AssemblyToolCalculatorFactoryConfig()) - { - // When - AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(assessmentSection, false); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.IsNull(failureMechanismSectionAssemblyCalculator.ManualAssemblyAssemblyOutput); - } - } - - #endregion - - #region HeightStructures - - [Test] - public void GivenAssessmentSectionWithHeightStructuresConfigured_WhenAssemblingFailureMechanismsWithProbabilityAndUseManualTrue_ThenInputSetOnCalculator() - { - // Given - AssessmentSection assessmentSection = CreateAssessmentSection(); - HeightStructuresFailureMechanism failureMechanism = assessmentSection.HeightStructures; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - - HeightStructuresFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - double probability = new Random(39).NextDouble(); - sectionResult.ManualAssemblyProbability = probability; - - using (new AssemblyToolCalculatorFactoryConfig()) - { - // When - AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(assessmentSection, true); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.AreEqual(probability, failureMechanismSectionAssemblyCalculator.ManualAssemblyProbabilityInput); - } - } - - [Test] - public void GivenAssessmentSectionWithHeightStructuresConfigured_WhenAssemblingFailureMechanismsWithProbabilityAndUseManualFalse_ThenNoInputSetOnCalculator() - { - // Given - AssessmentSection assessmentSection = CreateAssessmentSection(); - HeightStructuresFailureMechanism failureMechanism = assessmentSection.HeightStructures; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - - HeightStructuresFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - double probability = new Random(39).NextDouble(); - sectionResult.ManualAssemblyProbability = probability; - - using (new AssemblyToolCalculatorFactoryConfig()) - { - // When - AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(assessmentSection, false); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.IsNull(failureMechanismSectionAssemblyCalculator.ManualAssemblyAssemblyOutput); - } - } - - #endregion - - #region StabilityPointStructures - - [Test] - public void GivenAssessmentSectionWithStabilityPointStructuresConfigured_WhenAssemblingFailureMechanismsWithProbabilityAndUseManualTrue_ThenInputSetOnCalculator() - { - // Given - AssessmentSection assessmentSection = CreateAssessmentSection(); - StabilityPointStructuresFailureMechanism failureMechanism = assessmentSection.StabilityPointStructures; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - - StabilityPointStructuresFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - double probability = new Random(39).NextDouble(); - sectionResult.ManualAssemblyProbability = probability; - - using (new AssemblyToolCalculatorFactoryConfig()) - { - // When - AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(assessmentSection, true); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.AreEqual(probability, failureMechanismSectionAssemblyCalculator.ManualAssemblyProbabilityInput); - } - } - - [Test] - public void GivenAssessmentSectionWithStabilityPointStructuresConfigured_WhenAssemblingFailureMechanismsWithProbabilityAndUseManualFalse_ThenNoInputSetOnCalculator() - { - // Given - AssessmentSection assessmentSection = CreateAssessmentSection(); - StabilityPointStructuresFailureMechanism failureMechanism = assessmentSection.StabilityPointStructures; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - - StabilityPointStructuresFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - double probability = new Random(39).NextDouble(); - sectionResult.ManualAssemblyProbability = probability; - - using (new AssemblyToolCalculatorFactoryConfig()) - { - // When - AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(assessmentSection, false); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.IsNull(failureMechanismSectionAssemblyCalculator.ManualAssemblyAssemblyOutput); - } - } - - #endregion - - #endregion - - #endregion - #region Assemble Failure Mechanisms Without Probability [Test] Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/Assembly/CombinedAssemblyFailureMechanismSectionFactoryTest.cs =================================================================== diff -u -r02aa5c4ae3ee7698a4cd0cd077037ff239350739 -r9244e97aa2d6ccaf1ca7eb23f0fe200b85a7fe8a --- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/Assembly/CombinedAssemblyFailureMechanismSectionFactoryTest.cs (.../CombinedAssemblyFailureMechanismSectionFactoryTest.cs) (revision 02aa5c4ae3ee7698a4cd0cd077037ff239350739) +++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/Assembly/CombinedAssemblyFailureMechanismSectionFactoryTest.cs (.../CombinedAssemblyFailureMechanismSectionFactoryTest.cs) (revision 9244e97aa2d6ccaf1ca7eb23f0fe200b85a7fe8a) @@ -42,9 +42,9 @@ using Ringtoets.Integration.Data.Assembly; using Ringtoets.Integration.Data.StandAlone; using Ringtoets.Integration.Data.StandAlone.SectionResults; +using Ringtoets.Integration.Data.TestUtil; using Ringtoets.Integration.TestUtil; using Ringtoets.MacroStabilityInwards.Data; -using Ringtoets.Piping.Data; using Ringtoets.StabilityPointStructures.Data; using Ringtoets.StabilityStoneCover.Data; using Ringtoets.WaveImpactAsphaltCover.Data; @@ -199,351 +199,49 @@ #region Piping [Test] - public void GivenPipingFailureMechanismAndManualAssemblyAndUseManualTrue_WhenCreatingInput_ThenManualAssemblyUsed() + [TestCaseSource(typeof(AssessmentSectionAssemblyTestHelper), nameof(AssessmentSectionAssemblyTestHelper.GetConfiguredAssessmentSectionWithGroup1And2FailureMechanisms))] + public void CreateInput_AssessmentSectionWithFailureMechanismWithManualAssemblyAndUseManualTrue_ReturnsInputWithExpectedValue(AssessmentSection assessmentSection) { - // Given - var random = new Random(21); - var assessmentSection = new AssessmentSection(random.NextEnumValue()); - PipingFailureMechanism failureMechanism = assessmentSection.Piping; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - PipingFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - sectionResult.ManualAssemblyProbability = random.NextDouble(); - + // Setup + IFailureMechanism relevantFailureMechanism = assessmentSection.GetFailureMechanisms().Single(fm => fm.IsRelevant); using (new AssemblyToolCalculatorFactoryConfig()) { - // When - CombinedAssemblyFailureMechanismSectionFactory.CreateInput(assessmentSection, new[] + // Call + IEnumerable> input = CombinedAssemblyFailureMechanismSectionFactory.CreateInput(assessmentSection, new[] { - assessmentSection.Piping + relevantFailureMechanism }, true); // Then var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; FailureMechanismSectionAssemblyCalculatorStub sectionCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.AreEqual(sectionResult.ManualAssemblyProbability, sectionCalculator.ManualAssemblyProbabilityInput); + Assert.AreEqual(sectionCalculator.ManualAssemblyAssemblyOutput.Group, input.Single().Single().CategoryGroup); } } [Test] - public void GivenPipingFailureMechanismAndManualAssemblyAndUseManualFalse_WhenCreatingInput_ThenManualAssemblyIgnored() + [TestCaseSource(typeof(AssessmentSectionAssemblyTestHelper), nameof(AssessmentSectionAssemblyTestHelper.GetConfiguredAssessmentSectionWithGroup1And2FailureMechanisms))] + public void CreateInput_AssessmentSectionWithFailureMechanismWithManualAssemblyAndUseManualFalse_ReturnsInputWithExpectedValue(AssessmentSection assessmentSection) { - // Given - var random = new Random(21); - var assessmentSection = new AssessmentSection(random.NextEnumValue()); - PipingFailureMechanism failureMechanism = assessmentSection.Piping; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - PipingFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - sectionResult.ManualAssemblyProbability = random.NextDouble(); - + // Setup + IFailureMechanism relevantFailureMechanism = assessmentSection.GetFailureMechanisms().Single(fm => fm.IsRelevant); using (new AssemblyToolCalculatorFactoryConfig()) { // When - CombinedAssemblyFailureMechanismSectionFactory.CreateInput(assessmentSection, new[] + IEnumerable> input = CombinedAssemblyFailureMechanismSectionFactory.CreateInput(assessmentSection, new[] { - assessmentSection.Piping + relevantFailureMechanism }, false); // Then var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; FailureMechanismSectionAssemblyCalculatorStub sectionCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.Zero(sectionCalculator.ManualAssemblyProbabilityInput); + Assert.AreEqual(sectionCalculator.CombinedAssemblyOutput.Group, input.Single().Single().CategoryGroup); } } #endregion - #region GrassCoverErosionInwards - - [Test] - public void GivenGrassCoverErosionInwardsFailureMechanismAndManualAssemblyAndUseManualTrue_WhenCreatingInput_ThenManualAssemblyUsed() - { - // Given - var random = new Random(21); - var assessmentSection = new AssessmentSection(random.NextEnumValue()); - GrassCoverErosionInwardsFailureMechanism failureMechanism = assessmentSection.GrassCoverErosionInwards; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - GrassCoverErosionInwardsFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - sectionResult.ManualAssemblyProbability = random.NextDouble(); - - using (new AssemblyToolCalculatorFactoryConfig()) - { - // When - CombinedAssemblyFailureMechanismSectionFactory.CreateInput(assessmentSection, new[] - { - assessmentSection.GrassCoverErosionInwards - }, true); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub sectionCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.AreEqual(sectionResult.ManualAssemblyProbability, sectionCalculator.ManualAssemblyProbabilityInput); - } - } - - [Test] - public void GivenGrassCoverErosionInwardsFailureMechanismAndManualAssemblyAndUseManualFalse_WhenCreatingInput_ThenManualAssemblyIgnored() - { - // Given - var random = new Random(21); - var assessmentSection = new AssessmentSection(random.NextEnumValue()); - GrassCoverErosionInwardsFailureMechanism failureMechanism = assessmentSection.GrassCoverErosionInwards; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - GrassCoverErosionInwardsFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - sectionResult.ManualAssemblyProbability = random.NextDouble(); - - using (new AssemblyToolCalculatorFactoryConfig()) - { - // When - CombinedAssemblyFailureMechanismSectionFactory.CreateInput(assessmentSection, new[] - { - assessmentSection.GrassCoverErosionInwards - }, false); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub sectionCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.Zero(sectionCalculator.ManualAssemblyProbabilityInput); - } - } - - #endregion - - #region MacroStabilityInwards - - [Test] - public void GivenMacroStabilityInwardsFailureMechanismAndManualAssemblyAndUseManualTrue_WhenCreatingInput_ThenManualAssemblyUsed() - { - // Given - var random = new Random(21); - var assessmentSection = new AssessmentSection(random.NextEnumValue()); - MacroStabilityInwardsFailureMechanism failureMechanism = assessmentSection.MacroStabilityInwards; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - MacroStabilityInwardsFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - sectionResult.ManualAssemblyProbability = random.NextDouble(); - - using (new AssemblyToolCalculatorFactoryConfig()) - { - // When - CombinedAssemblyFailureMechanismSectionFactory.CreateInput(assessmentSection, new[] - { - assessmentSection.MacroStabilityInwards - }, true); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub sectionCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.AreEqual(sectionResult.ManualAssemblyProbability, sectionCalculator.ManualAssemblyProbabilityInput); - } - } - - [Test] - public void GivenMacroStabilityInwardsFailureMechanismAndManualAssemblyAndUseManualFalse_WhenCreatingInput_ThenManualAssemblyIgnored() - { - // Given - var random = new Random(21); - var assessmentSection = new AssessmentSection(random.NextEnumValue()); - MacroStabilityInwardsFailureMechanism failureMechanism = assessmentSection.MacroStabilityInwards; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - MacroStabilityInwardsFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - sectionResult.ManualAssemblyProbability = random.NextDouble(); - - using (new AssemblyToolCalculatorFactoryConfig()) - { - // When - CombinedAssemblyFailureMechanismSectionFactory.CreateInput(assessmentSection, new[] - { - assessmentSection.MacroStabilityInwards - }, false); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub sectionCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.Zero(sectionCalculator.ManualAssemblyProbabilityInput); - } - } - - #endregion - - #region HeightStructures - - [Test] - public void GivenHeightStructuresFailureMechanismAndManualAssemblyAndUseManualTrue_WhenCreatingInput_ThenManualAssemblyUsed() - { - // Given - var random = new Random(21); - var assessmentSection = new AssessmentSection(random.NextEnumValue()); - HeightStructuresFailureMechanism failureMechanism = assessmentSection.HeightStructures; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - HeightStructuresFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - sectionResult.ManualAssemblyProbability = random.NextDouble(); - - using (new AssemblyToolCalculatorFactoryConfig()) - { - // When - CombinedAssemblyFailureMechanismSectionFactory.CreateInput(assessmentSection, new[] - { - assessmentSection.HeightStructures - }, true); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub sectionCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.AreEqual(sectionResult.ManualAssemblyProbability, sectionCalculator.ManualAssemblyProbabilityInput); - } - } - - [Test] - public void GivenHeightStructuresFailureMechanismAndManualAssemblyAndUseManualFalse_WhenCreatingInput_ThenManualAssemblyIgnored() - { - // Given - var random = new Random(21); - var assessmentSection = new AssessmentSection(random.NextEnumValue()); - HeightStructuresFailureMechanism failureMechanism = assessmentSection.HeightStructures; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - HeightStructuresFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - sectionResult.ManualAssemblyProbability = random.NextDouble(); - - using (new AssemblyToolCalculatorFactoryConfig()) - { - // When - CombinedAssemblyFailureMechanismSectionFactory.CreateInput(assessmentSection, new[] - { - assessmentSection.HeightStructures - }, false); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub sectionCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.Zero(sectionCalculator.ManualAssemblyProbabilityInput); - } - } - - #endregion - - #region ClosingStructures - - [Test] - public void GivenClosingStructuresFailureMechanismAndManualAssemblyAndUseManualTrue_WhenCreatingInput_ThenManualAssemblyUsed() - { - // Given - var random = new Random(21); - var assessmentSection = new AssessmentSection(random.NextEnumValue()); - ClosingStructuresFailureMechanism failureMechanism = assessmentSection.ClosingStructures; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - ClosingStructuresFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - sectionResult.ManualAssemblyProbability = random.NextDouble(); - - using (new AssemblyToolCalculatorFactoryConfig()) - { - // When - CombinedAssemblyFailureMechanismSectionFactory.CreateInput(assessmentSection, new[] - { - assessmentSection.ClosingStructures - }, true); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub sectionCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.AreEqual(sectionResult.ManualAssemblyProbability, sectionCalculator.ManualAssemblyProbabilityInput); - } - } - - [Test] - public void GivenClosingStructuresFailureMechanismAndManualAssemblyAndUseManualFalse_WhenCreatingInput_ThenManualAssemblyIgnored() - { - // Given - var random = new Random(21); - var assessmentSection = new AssessmentSection(random.NextEnumValue()); - ClosingStructuresFailureMechanism failureMechanism = assessmentSection.ClosingStructures; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - ClosingStructuresFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - sectionResult.ManualAssemblyProbability = random.NextDouble(); - - using (new AssemblyToolCalculatorFactoryConfig()) - { - // When - CombinedAssemblyFailureMechanismSectionFactory.CreateInput(assessmentSection, new[] - { - assessmentSection.ClosingStructures - }, false); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub sectionCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.Zero(sectionCalculator.ManualAssemblyProbabilityInput); - } - } - - #endregion - - #region StabilityPointStructures - - [Test] - public void GivenStabilityPointStructuresFailureMechanismAndManualAssemblyAndUseManualTrue_WhenCreatingInput_ThenManualAssemblyUsed() - { - // Given - var random = new Random(21); - var assessmentSection = new AssessmentSection(random.NextEnumValue()); - StabilityPointStructuresFailureMechanism failureMechanism = assessmentSection.StabilityPointStructures; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - StabilityPointStructuresFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - sectionResult.ManualAssemblyProbability = random.NextDouble(); - - using (new AssemblyToolCalculatorFactoryConfig()) - { - // When - CombinedAssemblyFailureMechanismSectionFactory.CreateInput(assessmentSection, new[] - { - assessmentSection.StabilityPointStructures - }, true); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub sectionCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.AreEqual(sectionResult.ManualAssemblyProbability, sectionCalculator.ManualAssemblyProbabilityInput); - } - } - - [Test] - public void GivenStabilityPointStructuresFailureMechanismAndManualAssemblyAndUseManualFalse_WhenCreatingInput_ThenManualAssemblyIgnored() - { - // Given - var random = new Random(21); - var assessmentSection = new AssessmentSection(random.NextEnumValue()); - StabilityPointStructuresFailureMechanism failureMechanism = assessmentSection.StabilityPointStructures; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - StabilityPointStructuresFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - sectionResult.ManualAssemblyProbability = random.NextDouble(); - - using (new AssemblyToolCalculatorFactoryConfig()) - { - // When - CombinedAssemblyFailureMechanismSectionFactory.CreateInput(assessmentSection, new[] - { - assessmentSection.StabilityPointStructures - }, false); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub sectionCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.Zero(sectionCalculator.ManualAssemblyProbabilityInput); - } - } - - #endregion - #region GrassCoverErosionOutwards [Test] Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/Ringtoets.Integration.Data.Test.csproj =================================================================== diff -u -r63c08e1b9de70f1880352de985f4ba89c5648386 -r9244e97aa2d6ccaf1ca7eb23f0fe200b85a7fe8a --- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/Ringtoets.Integration.Data.Test.csproj (.../Ringtoets.Integration.Data.Test.csproj) (revision 63c08e1b9de70f1880352de985f4ba89c5648386) +++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/Ringtoets.Integration.Data.Test.csproj (.../Ringtoets.Integration.Data.Test.csproj) (revision 9244e97aa2d6ccaf1ca7eb23f0fe200b85a7fe8a) @@ -140,6 +140,10 @@ {11f1f874-45af-43e4-8ae5-15a5c9593e28} Ringtoets.Integration.Data + + {2D51FD02-BBED-43FE-BDB7-4437152876A1} + Ringtoets.Integration.Data.TestUtil + {174BA68D-6176-4AC5-8DFD-98CDD2C4D971} Ringtoets.Integration.TestUtil Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Ringtoets.Integration.Forms.Test.csproj =================================================================== diff -u -re165cd0a0f0be54799bd4657d83d255acb10c962 -r9244e97aa2d6ccaf1ca7eb23f0fe200b85a7fe8a --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Ringtoets.Integration.Forms.Test.csproj (.../Ringtoets.Integration.Forms.Test.csproj) (revision e165cd0a0f0be54799bd4657d83d255acb10c962) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Ringtoets.Integration.Forms.Test.csproj (.../Ringtoets.Integration.Forms.Test.csproj) (revision 9244e97aa2d6ccaf1ca7eb23f0fe200b85a7fe8a) @@ -274,6 +274,10 @@ {C8383B76-B3F1-4E6E-B56C-527B469FA20A} Ringtoets.Integration.Plugin + + {2D51FD02-BBED-43FE-BDB7-4437152876A1} + Ringtoets.Integration.Data.TestUtil + {93C3B757-C591-4451-BA56-140FF91EFE9A} Ringtoets.Integration.Forms.TestUtil Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/AssemblyResultTotalViewTest.cs =================================================================== diff -u -r02aa5c4ae3ee7698a4cd0cd077037ff239350739 -r9244e97aa2d6ccaf1ca7eb23f0fe200b85a7fe8a --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/AssemblyResultTotalViewTest.cs (.../AssemblyResultTotalViewTest.cs) (revision 02aa5c4ae3ee7698a4cd0cd077037ff239350739) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/AssemblyResultTotalViewTest.cs (.../AssemblyResultTotalViewTest.cs) (revision 9244e97aa2d6ccaf1ca7eb23f0fe200b85a7fe8a) @@ -52,6 +52,7 @@ using Ringtoets.Integration.Data; using Ringtoets.Integration.Data.StandAlone; using Ringtoets.Integration.Data.StandAlone.SectionResults; +using Ringtoets.Integration.Data.TestUtil; using Ringtoets.Integration.Forms.Controls; using Ringtoets.Integration.Forms.Views; using Ringtoets.MacroStabilityInwards.Data; @@ -638,17 +639,10 @@ #region Use Manual Assembly [Test] - public void GivenFormWithAssemblyResultTotalView_WhenPipingHasManualAssembly_ThenManualAssemblyUsed() + [TestCaseSource(typeof(AssessmentSectionAssemblyTestHelper), nameof(AssessmentSectionAssemblyTestHelper.GetConfiguredAssessmentSectionWithGroup1And2FailureMechanisms))] + public void GivenFormWithAssemblyResultTotalView_WhenFailureMechanismInGroup1Or2HasManualAssembly_ThenManualAssemblyUsed(AssessmentSection assessmentSection) { // Given - var random = new Random(39); - var assessmentSection = new AssessmentSection(random.NextEnumValue()); - PipingFailureMechanism failureMechanism = assessmentSection.Piping; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - PipingFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - sectionResult.ManualAssemblyProbability = random.NextDouble(); - using (new AssemblyToolCalculatorFactoryConfig()) { var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; @@ -658,138 +652,67 @@ using (ShowAssemblyResultTotalView(assessmentSection)) { // Then - Assert.AreEqual(sectionResult.ManualAssemblyProbability, calculator.ManualAssemblyProbabilityInput); + IFailureMechanism failureMechanism = assessmentSection.GetFailureMechanisms().Single(fm => fm.IsRelevant); + AssertFailureMechanismsWithProbabilityCalculatorInput(failureMechanism, calculator); } } } - [Test] - public void GivenFormWithAssemblyResultTotalView_WhenMacroStabilityInwardsHasManualAssembly_ThenManualAssemblyUsed() + private static void AssertFailureMechanismsWithProbabilityCalculatorInput(IFailureMechanism failureMechanism, + FailureMechanismSectionAssemblyCalculatorStub calculator) { - // Given - var random = new Random(39); - var assessmentSection = new AssessmentSection(random.NextEnumValue()); - MacroStabilityInwardsFailureMechanism failureMechanism = assessmentSection.MacroStabilityInwards; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - MacroStabilityInwardsFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - sectionResult.ManualAssemblyProbability = random.NextDouble(); - - using (new AssemblyToolCalculatorFactoryConfig()) + var piping = failureMechanism as PipingFailureMechanism; + if (piping != null) { - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - - // When - using (ShowAssemblyResultTotalView(assessmentSection)) - { - // Then - Assert.AreEqual(sectionResult.ManualAssemblyProbability, calculator.ManualAssemblyProbabilityInput); - } + Assert.AreEqual(piping.SectionResults + .Single() + .ManualAssemblyProbability, + calculator.ManualAssemblyProbabilityInput); } - } - [Test] - public void GivenFormWithAssemblyResultTotalView_WhenGrassCoverErosionInwardsHasManualAssembly_ThenManualAssemblyUsed() - { - // Given - var random = new Random(39); - var assessmentSection = new AssessmentSection(random.NextEnumValue()); - GrassCoverErosionInwardsFailureMechanism failureMechanism = assessmentSection.GrassCoverErosionInwards; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - GrassCoverErosionInwardsFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - sectionResult.ManualAssemblyProbability = random.NextDouble(); - - using (new AssemblyToolCalculatorFactoryConfig()) + var macroStabilityInwards = failureMechanism as MacroStabilityInwardsFailureMechanism; + if (macroStabilityInwards != null) { - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - - // When - using (ShowAssemblyResultTotalView(assessmentSection)) - { - // Then - Assert.AreEqual(sectionResult.ManualAssemblyProbability, calculator.ManualAssemblyProbabilityInput); - } + Assert.AreEqual(macroStabilityInwards.SectionResults + .Single() + .ManualAssemblyProbability, + calculator.ManualAssemblyProbabilityInput); } - } - [Test] - public void GivenFormWithAssemblyResultTotalView_WhenClosingStructuresHasManualAssembly_ThenManualAssemblyUsed() - { - // Given - var random = new Random(39); - var assessmentSection = new AssessmentSection(random.NextEnumValue()); - ClosingStructuresFailureMechanism failureMechanism = assessmentSection.ClosingStructures; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - ClosingStructuresFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - sectionResult.ManualAssemblyProbability = random.NextDouble(); - - using (new AssemblyToolCalculatorFactoryConfig()) + var grassCoverErosionInwards = failureMechanism as GrassCoverErosionInwardsFailureMechanism; + if (grassCoverErosionInwards != null) { - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - - // When - using (ShowAssemblyResultTotalView(assessmentSection)) - { - // Then - Assert.AreEqual(sectionResult.ManualAssemblyProbability, calculator.ManualAssemblyProbabilityInput); - } + Assert.AreEqual(grassCoverErosionInwards.SectionResults + .Single() + .ManualAssemblyProbability, + calculator.ManualAssemblyProbabilityInput); } - } - [Test] - public void GivenFormWithAssemblyResultTotalView_WhenHeightStructuresHasManualAssembly_ThenManualAssemblyUsed() - { - // Given - var random = new Random(39); - var assessmentSection = new AssessmentSection(random.NextEnumValue()); - HeightStructuresFailureMechanism failureMechanism = assessmentSection.HeightStructures; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - HeightStructuresFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - sectionResult.ManualAssemblyProbability = random.NextDouble(); - - using (new AssemblyToolCalculatorFactoryConfig()) + var closingStructures = failureMechanism as ClosingStructuresFailureMechanism; + if (closingStructures != null) { - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - - // When - using (ShowAssemblyResultTotalView(assessmentSection)) - { - // Then - Assert.AreEqual(sectionResult.ManualAssemblyProbability, calculator.ManualAssemblyProbabilityInput); - } + Assert.AreEqual(closingStructures.SectionResults + .Single() + .ManualAssemblyProbability, + calculator.ManualAssemblyProbabilityInput); } - } - [Test] - public void GivenFormWithAssemblyResultTotalView_WhenStabilityPointStructuresHasManualAssembly_ThenManualAssemblyUsed() - { - // Given - var random = new Random(39); - var assessmentSection = new AssessmentSection(random.NextEnumValue()); - StabilityPointStructuresFailureMechanism failureMechanism = assessmentSection.StabilityPointStructures; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - StabilityPointStructuresFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - sectionResult.UseManualAssembly = true; - sectionResult.ManualAssemblyProbability = random.NextDouble(); - - using (new AssemblyToolCalculatorFactoryConfig()) + var heightStructures = failureMechanism as HeightStructuresFailureMechanism; + if (heightStructures != null) { - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; + Assert.AreEqual(heightStructures.SectionResults + .Single() + .ManualAssemblyProbability, + calculator.ManualAssemblyProbabilityInput); + } - // When - using (ShowAssemblyResultTotalView(assessmentSection)) - { - // Then - Assert.AreEqual(sectionResult.ManualAssemblyProbability, calculator.ManualAssemblyProbabilityInput); - } + var stabilityPointStructures = failureMechanism as StabilityPointStructuresFailureMechanism; + if (stabilityPointStructures != null) + { + Assert.AreEqual(stabilityPointStructures.SectionResults + .Single() + .ManualAssemblyProbability, + calculator.ManualAssemblyProbabilityInput); } }