public void UpdateSectionsWithImportedData_WithValidData_UpdatesDataAndReturnsAffectedObjects() { // Setup var failureMechanism = new PipingFailureMechanism(); var failureMechanismSectionUpdateStrategy = new PipingFailureMechanismSectionUpdateStrategy( failureMechanism, new AdoptableWithProfileProbabilityFailureMechanismSectionResultUpdateStrategy()); string sourcePath = TestHelper.GetScratchPadPath(); FailureMechanismSection[] sections = { FailureMechanismSectionTestFactory.CreateFailureMechanismSection() }; // Call IEnumerable <IObservable> affectedObjects = failureMechanismSectionUpdateStrategy.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 GivenFailureMechanismWithSections_WhenUpdateSectionsWithImportedData_ThenDataUpdatedAndReturnsAffectedObjects() { // Given var failureMechanism = new PipingFailureMechanism(); var failureMechanismSectionUpdateStrategy = new PipingFailureMechanismSectionUpdateStrategy( failureMechanism, new AdoptableWithProfileProbabilityFailureMechanismSectionResultUpdateStrategy()); FailureMechanismSection[] sections = { FailureMechanismSectionTestFactory.CreateFailureMechanismSection(), FailureMechanismSectionTestFactory.CreateFailureMechanismSection(new[] { new Point2D(1, 0), new Point2D(3, 0) }) }; string sourcePath = TestHelper.GetScratchPadPath(); failureMechanism.SetSections(sections, sourcePath); failureMechanism.ScenarioConfigurationsPerFailureMechanismSection.First().ScenarioConfigurationType = PipingScenarioConfigurationPerFailureMechanismSectionType.Probabilistic; // When IEnumerable <IObservable> affectedObjects = failureMechanismSectionUpdateStrategy.UpdateSectionsWithImportedData(sections, sourcePath); // Then CollectionAssert.AreEqual(new[] { PipingScenarioConfigurationPerFailureMechanismSectionType.Probabilistic, PipingScenarioConfigurationPerFailureMechanismSectionType.SemiProbabilistic }, failureMechanism.ScenarioConfigurationsPerFailureMechanismSection.Select(sc => sc.ScenarioConfigurationType)); CollectionAssert.AreEqual(new IObservable[] { failureMechanism, failureMechanism.SectionResults, failureMechanism.ScenarioConfigurationsPerFailureMechanismSection }, affectedObjects); }