public void CreateUpliftCalculator_Always_ReturnsUpliftCalculator() { // Setup IPipingSubCalculatorFactory factory = PipingSubCalculatorFactory.Instance; // Call IUpliftCalculator calculator = factory.CreateUpliftCalculator(); // Assert Assert.IsInstanceOf <UpliftCalculator>(calculator); }
private IUpliftCalculator CreateUpliftCalculator() { double effectiveStress = DetermineEffectiveStressForOneLayerProfile(input.EffectiveThicknessCoverageLayer, input.SaturatedVolumicWeightOfCoverageLayer, input.WaterVolumetricWeight); IUpliftCalculator calculator = factory.CreateUpliftCalculator(); calculator.SetVolumetricWeightOfWater(input.WaterVolumetricWeight); calculator.SetModelFactorUplift(input.UpliftModelFactor); calculator.EffectiveStress = effectiveStress; calculator.SetHRiver(input.AssessmentLevel); calculator.SetPhiExit(input.PiezometricHeadExit); calculator.SetRExit(input.DampingFactorExit); calculator.SetHExit(input.PhreaticLevelExit); calculator.SetPhiPolder(input.PhreaticLevelExit); return(calculator); }
/// <summary> /// Performs the actual sub calculations and returns a <see cref="PipingCalculatorResult"/>, which /// contains the results of all sub calculations. /// </summary> /// <returns>A <see cref="PipingCalculatorResult"/> containing the results of the sub calculations.</returns> /// <exception cref="PipingCalculatorException">Thrown when any of the invocations of the sub calculations from the kernel throws an Exception.</exception> public PipingCalculatorResult Calculate() { IUpliftCalculator upliftResult = CalculateUplift(); IHeaveCalculator heaveResult = CalculateHeave(); ISellmeijerCalculator sellmeijerResult = CalculateSellmeijer(); return(new PipingCalculatorResult(new PipingCalculatorResult.ConstructionProperties { UpliftFactorOfSafety = upliftResult.FoSu, HeaveFactorOfSafety = heaveResult.FoSh, SellmeijerFactorOfSafety = sellmeijerResult.FoSp, UpliftEffectiveStress = upliftResult.EffectiveStress, HeaveGradient = heaveResult.Gradient, SellmeijerCreepCoefficient = sellmeijerResult.CreepCoefficient, SellmeijerCriticalFall = sellmeijerResult.CriticalFall, SellmeijerReducedFall = sellmeijerResult.ReducedFall })); }
private IUpliftCalculator CalculateUplift() { IUpliftCalculator upliftCalculator = CreateUpliftCalculator(); try { upliftCalculator.Calculate(); } catch (WTIUpliftCalculatorException e) { throw new PipingCalculatorException(e.Message, e); } catch (PipingException <EffectiveThicknessCalculator> e) { throw new PipingCalculatorException(e.Message, e); } return(upliftCalculator); }