private static void FillAvailableSoilProfilesList(DataGridViewRow dataGridViewRow) { var rowData = (PipingCalculationRow)dataGridViewRow.DataBoundItem; PipingInputService.SyncStochasticSoilProfileWithStochasticSoilModel(rowData.Calculation.InputParameters); IEnumerable <PipingStochasticSoilProfile> stochasticSoilProfiles = GetSoilProfilesForCalculation(rowData.Calculation); var cell = (DataGridViewComboBoxCell)dataGridViewRow.Cells[stochasticSoilProfileColumnIndex]; SetItemsOnObjectCollection(cell.Items, GetSoilProfilesDataSource(stochasticSoilProfiles).ToArray()); }
public void SetMatchingStochasticSoilModel_SurfaceLineOverlappingSingleSoilModel_SetsSoilModel() { // Setup PipingStochasticSoilModel soilModel = PipingStochasticSoilModelTestFactory.CreatePipingStochasticSoilModel(); var pipingInput = new TestPipingInput(); // Call PipingInputService.SetMatchingStochasticSoilModel(pipingInput, new[] { soilModel }); // Assert Assert.AreSame(soilModel, pipingInput.StochasticSoilModel); }
private IEnumerable <IObservable> UpdateStochasticSoilModel(PipingSurfaceLine updatedSurfaceLine) { IEnumerable <IPipingCalculationScenario <PipingInput> > calculationsToUpdate = GetAffectedCalculationWithSurfaceLine(updatedSurfaceLine); var affectedObjects = new List <IObservable>(); foreach (IPipingCalculationScenario <PipingInput> calculation in calculationsToUpdate) { IEnumerable <PipingStochasticSoilModel> matchingSoilModels = GetAvailableStochasticSoilModels(updatedSurfaceLine); PipingInput calculationInput = calculation.InputParameters; PipingInputService.SetMatchingStochasticSoilModel(calculationInput, matchingSoilModels); affectedObjects.Add(calculationInput); } return(affectedObjects); }
public void SetMatchingStochasticSoilModel_SurfaceLineOverlappingMultipleSoilModels_DoesNotSetModel() { // Setup var pipingInput = new TestPipingInput(); PipingStochasticSoilModel soilModel1 = PipingStochasticSoilModelTestFactory.CreatePipingStochasticSoilModel("A"); PipingStochasticSoilModel soilModel2 = PipingStochasticSoilModelTestFactory.CreatePipingStochasticSoilModel("C"); // Call PipingInputService.SetMatchingStochasticSoilModel(pipingInput, new[] { soilModel1, soilModel2 }); // Assert Assert.IsNull(pipingInput.StochasticSoilModel); }
public void SyncStochasticSoilProfileWithStochasticSoilModel_MultipleStochasticSoilProfilesInStochasticSoilModel_DoesNotSetStochasticSoilProfile() { // Setup PipingStochasticSoilModel soilModel = PipingStochasticSoilModelTestFactory.CreatePipingStochasticSoilModel(new[] { new PipingStochasticSoilProfile(0.0, PipingSoilProfileTestFactory.CreatePipingSoilProfile()), new PipingStochasticSoilProfile(1.0, PipingSoilProfileTestFactory.CreatePipingSoilProfile()) }); var pipingInput = new TestPipingInput { StochasticSoilModel = soilModel }; // Call PipingInputService.SyncStochasticSoilProfileWithStochasticSoilModel(pipingInput); // Assert Assert.IsNull(pipingInput.StochasticSoilProfile); }
public void SyncStochasticSoilProfileWithStochasticSoilModel_SingleStochasticSoilProfileInStochasticSoilModel_SetsStochasticSoilProfile() { // Setup var soilProfile = new PipingStochasticSoilProfile(1, PipingSoilProfileTestFactory.CreatePipingSoilProfile()); PipingStochasticSoilModel soilModel = PipingStochasticSoilModelTestFactory.CreatePipingStochasticSoilModel("A", new[] { soilProfile }); var pipingInput = new TestPipingInput { StochasticSoilModel = soilModel }; // Call PipingInputService.SyncStochasticSoilProfileWithStochasticSoilModel(pipingInput); // Assert Assert.AreSame(soilProfile, pipingInput.StochasticSoilProfile); }
public void SyncStochasticSoilProfileWithStochasticSoilModel_SingleStochasticSoilProfileInSoilModelAlreadySet_StochasticSoilProfileDoesNotChange() { // Setup var soilProfile = new PipingStochasticSoilProfile(0.3, PipingSoilProfileTestFactory.CreatePipingSoilProfile()); PipingStochasticSoilModel soilModel = PipingStochasticSoilModelTestFactory.CreatePipingStochasticSoilModel(new[] { soilProfile }); var pipingInput = new TestPipingInput { StochasticSoilModel = soilModel, StochasticSoilProfile = soilProfile }; // Call PipingInputService.SyncStochasticSoilProfileWithStochasticSoilModel(pipingInput); // Assert Assert.AreEqual(soilProfile, pipingInput.StochasticSoilProfile); }
public void SetMatchingStochasticSoilModel_CurrentSoilModelNotInOverlappingMultipleSoilModels_ClearsModel() { // Setup PipingStochasticSoilModel nonOverlappingSoilModel = PipingStochasticSoilModelTestFactory.CreatePipingStochasticSoilModel(); var pipingInput = new TestPipingInput { StochasticSoilModel = nonOverlappingSoilModel }; PipingStochasticSoilModel soilModel1 = PipingStochasticSoilModelTestFactory.CreatePipingStochasticSoilModel("A"); PipingStochasticSoilModel soilModel2 = PipingStochasticSoilModelTestFactory.CreatePipingStochasticSoilModel("C"); // Call PipingInputService.SetMatchingStochasticSoilModel(pipingInput, new[] { soilModel1, soilModel2 }); // Assert Assert.IsNull(pipingInput.StochasticSoilModel); }