Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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);
        }