/// <summary> /// Creates a collection of <see cref="CalculatableActivity"/> for all relevant calculations /// in the given <see cref="AssessmentSection"/>. /// </summary> /// <param name="assessmentSection">The assessment section to create the activities for.</param> /// <returns>A collection of <see cref="CalculatableActivity"/>.</returns> /// <exception cref="ArgumentNullException">Thrown when <paramref name="assessmentSection"/> is <c>null</c>.</exception> public static IEnumerable <CalculatableActivity> CreateCalculationActivities(AssessmentSection assessmentSection) { if (assessmentSection == null) { throw new ArgumentNullException(nameof(assessmentSection)); } var activities = new List <CalculatableActivity>(); activities.AddRange(PipingCalculationActivityFactory.CreateCalculationActivities( assessmentSection.Piping, assessmentSection)); activities.AddRange(GrassCoverErosionInwardsCalculationActivityFactory.CreateCalculationActivities( assessmentSection.GrassCoverErosionInwards, assessmentSection)); activities.AddRange(MacroStabilityInwardsCalculationActivityFactory.CreateCalculationActivities( assessmentSection.MacroStabilityInwards, assessmentSection)); activities.AddRange(HeightStructuresCalculationActivityFactory.CreateCalculationActivities( assessmentSection.HeightStructures, assessmentSection)); activities.AddRange(ClosingStructuresCalculationActivityFactory.CreateCalculationActivities( assessmentSection.ClosingStructures, assessmentSection)); activities.AddRange(StabilityPointStructuresCalculationActivityFactory.CreateCalculationActivities( assessmentSection.StabilityPointStructures, assessmentSection)); return(activities); }
public void CreateCalculationActivitiesForFailureMechanism_WithValidCalculations_ReturnsHeightStructuresCalculationActivitiesWithParametersSet() { // Setup var failureMechanism = new HeightStructuresFailureMechanism(); var mocks = new MockRepository(); IAssessmentSection assessmentSection = AssessmentSectionTestHelper.CreateAssessmentSectionStub(failureMechanism, mocks, validFilePath); mocks.ReplayAll(); StructuresCalculation <HeightStructuresInput> calculation1 = CreateValidCalculation(); StructuresCalculation <HeightStructuresInput> calculation2 = CreateValidCalculation(); failureMechanism.CalculationsGroup.Children.AddRange(new[] { calculation1, calculation2 }); // Call IEnumerable <CalculatableActivity> activities = HeightStructuresCalculationActivityFactory.CreateCalculationActivities( failureMechanism, assessmentSection); // Assert CollectionAssert.AllItemsAreInstancesOfType(activities, typeof(HeightStructuresCalculationActivity)); Assert.AreEqual(2, activities.Count()); HydraulicBoundaryDatabase hydraulicBoundaryDatabase = assessmentSection.HydraulicBoundaryDatabase; AssertHeightStructuresCalculationActivity(activities.First(), calculation1, hydraulicBoundaryDatabase); AssertHeightStructuresCalculationActivity(activities.ElementAt(1), calculation2, hydraulicBoundaryDatabase); mocks.VerifyAll(); }
private void CalculateAllInCalculationGroup(HeightStructuresCalculationGroupContext context) { ActivityProgressDialogRunner.Run( Gui.MainWindow, HeightStructuresCalculationActivityFactory.CreateCalculationActivities(context.WrappedData, context.FailureMechanism, context.AssessmentSection)); }
public void CreateCalculationActivitiesForFailureMechanism_AssessmentSectionNull_ThrowsArgumentNullException() { // Call TestDelegate test = () => HeightStructuresCalculationActivityFactory.CreateCalculationActivities(new HeightStructuresFailureMechanism(), null); // Assert var exception = Assert.Throws <ArgumentNullException>(test); Assert.AreEqual("assessmentSection", exception.ParamName); }
public void CreateCalculationActivitiesForFailureMechanism_FailureMechanismNull_ThrowsArgumentNullException() { // Setup var mocks = new MockRepository(); var assessmentSection = mocks.Stub <IAssessmentSection>(); mocks.ReplayAll(); // Call TestDelegate test = () => HeightStructuresCalculationActivityFactory.CreateCalculationActivities(null, assessmentSection); // Assert var exception = Assert.Throws <ArgumentNullException>(test); Assert.AreEqual("failureMechanism", exception.ParamName); mocks.VerifyAll(); }
private void CalculateAllInFailureMechanism(CalculationsStateFailureMechanismContext context) { ActivityProgressDialogRunner.Run( Gui.MainWindow, HeightStructuresCalculationActivityFactory.CreateCalculationActivities(context.WrappedData, context.Parent)); }