public void UpdateSectionsWithImportedData_WithValidData_UpdatesDataAndReturnsAffectedObjects() { // Setup var failureMechanism = new PipingFailureMechanism(); var failureMechanismSectionReplaceStrategy = new PipingFailureMechanismSectionReplaceStrategy(failureMechanism); string sourcePath = TestHelper.GetScratchPadPath(); FailureMechanismSection[] sections = { FailureMechanismSectionTestFactory.CreateFailureMechanismSection() }; // Call IEnumerable <IObservable> affectedObjects = failureMechanismSectionReplaceStrategy.UpdateSectionsWithImportedData(sections, sourcePath); // Assert Assert.AreEqual(sourcePath, failureMechanism.FailureMechanismSectionSourcePath); Assert.AreEqual(sections.Single(), failureMechanism.Sections.Single()); CollectionAssert.AreEqual(new IObservable[] { failureMechanism, failureMechanism.SectionResults, failureMechanism.ScenarioConfigurationsPerFailureMechanismSection }, affectedObjects); }
public void Constructor_ExpectedValues() { // Call var replaceStrategy = new PipingFailureMechanismSectionReplaceStrategy(new PipingFailureMechanism()); // Assert Assert.IsInstanceOf <IFailureMechanismSectionUpdateStrategy>(replaceStrategy); }
public void DoPostUpdateActions_Always_ClearsAllProbabilisticOutputAndReturnsAffectedObjects() { // Setup var calculation1 = new ProbabilisticPipingCalculationScenario { Output = PipingTestDataGenerator.GetRandomProbabilisticPipingOutputWithIllustrationPoints() }; var calculation2 = new ProbabilisticPipingCalculationScenario { Output = PipingTestDataGenerator.GetRandomProbabilisticPipingOutputWithoutIllustrationPoints() }; var calculation3 = new SemiProbabilisticPipingCalculationScenario { Output = PipingTestDataGenerator.GetSemiProbabilisticPipingOutput(double.NaN, double.NaN, double.NaN) }; var failureMechanism = new PipingFailureMechanism(); failureMechanism.CalculationsGroup.Children.AddRange(new ICalculation[] { calculation1, calculation2, calculation3, new ProbabilisticPipingCalculationScenario() }); var replaceStrategy = new PipingFailureMechanismSectionReplaceStrategy(failureMechanism); // Call IEnumerable <IObservable> affectedObjects = replaceStrategy.DoPostUpdateActions(); // Assert Assert.IsFalse(calculation1.HasOutput); Assert.IsFalse(calculation2.HasOutput); Assert.IsTrue(calculation3.HasOutput); CollectionAssert.AreEqual(new[] { calculation1, calculation2 }, affectedObjects); }