public void GetHydraulicBoundaryLocationCalculation_AssessmentSectionNull_ThrowsArgumentNullException() { // Call void Call() => WaveConditionsInputHelper.GetHydraulicBoundaryLocationCalculation(new WaveConditionsInput(), null); // Assert var exception = Assert.Throws <ArgumentNullException>(Call); Assert.AreEqual("assessmentSection", exception.ParamName); }
public override IEnumerable <ViewInfo> GetViewInfos() { yield return(new RiskeerViewInfo <HydraulicLoadsStateFailureMechanismContext, HydraulicLoadsStateFailureMechanismView>(() => Gui) { GetViewName = (view, context) => context.WrappedData.Name, CreateInstance = context => new HydraulicLoadsStateFailureMechanismView(context.WrappedData, context.Parent) }); yield return(new RiskeerViewInfo <RegistrationStateFailureMechanismContext, RegistrationStateFailureMechanismView>(() => Gui) { GetViewName = (view, context) => context.WrappedData.Name, AdditionalDataCheck = context => context.WrappedData.InAssembly, CreateInstance = context => new RegistrationStateFailureMechanismView(context.WrappedData, context.Parent), CloseForData = CloseFailureMechanismViewForData }); yield return(new RiskeerViewInfo < WaveImpactAsphaltCoverFailureMechanismSectionResultContext, IObservableEnumerable <NonAdoptableWithProfileProbabilityFailureMechanismSectionResult>, NonAdoptableWithProfileProbabilityFailureMechanismResultView <WaveImpactAsphaltCoverFailureMechanism> >(() => Gui) { GetViewName = (view, context) => RiskeerCommonFormsResources.FailureMechanism_AssessmentResult_DisplayName, CloseForData = CloseFailureMechanismResultViewForData, GetViewData = context => context.WrappedData, CreateInstance = context => { var failureMechanism = (WaveImpactAsphaltCoverFailureMechanism)context.FailureMechanism; IAssessmentSection assessmentSection = context.AssessmentSection; return new NonAdoptableWithProfileProbabilityFailureMechanismResultView <WaveImpactAsphaltCoverFailureMechanism>( context.WrappedData, failureMechanism, assessmentSection, WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism, fm => fm.GeneralWaveImpactAsphaltCoverInput.ApplyLengthEffectInSection, sr => WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleSection(sr, failureMechanism, assessmentSection)); } }); yield return(new RiskeerViewInfo <WaveImpactAsphaltCoverWaveConditionsInputContext, ICalculation <WaveConditionsInput>, WaveConditionsInputView>(() => Gui) { GetViewName = (view, context) => RiskeerCommonFormsResources.Calculation_Input, CloseForData = RiskeerPluginHelper.ShouldCloseViewWithCalculationData, CreateInstance = context => new WaveConditionsInputView( context.Calculation, () => WaveConditionsInputHelper.GetHydraulicBoundaryLocationCalculation(context.WrappedData, context.AssessmentSection), new WaveImpactAsphaltCoverWaveConditionsInputViewStyle()) }); }
public void GetHydraulicBoundaryLocationCalculation_InputWithInvalidWaterLevelType_ThrowsInvalidEnumArgumentException() { // Setup const WaveConditionsInputWaterLevelType waterLevelType = (WaveConditionsInputWaterLevelType)99; var waveConditionsInput = new WaveConditionsInput { WaterLevelType = waterLevelType }; // Call void Call() => WaveConditionsInputHelper.GetHydraulicBoundaryLocationCalculation(waveConditionsInput, new AssessmentSectionStub()); // Assert var expectedMessage = $"The value of argument 'WaterLevelType' ({waterLevelType}) is invalid for Enum type '{nameof(WaveConditionsInputWaterLevelType)}'."; var exception = TestHelper.AssertThrowsArgumentExceptionAndTestMessage <InvalidEnumArgumentException>(Call, expectedMessage); Assert.AreEqual("WaterLevelType", exception.ParamName); }
public void GetHydraulicBoundaryLocationCalculation_ValidInput_ReturnsExpectedValue( WaveConditionsInputWaterLevelType waterLevelType, Func <WaveConditionsInput, IAssessmentSection, HydraulicBoundaryLocationCalculation> getExpectedTargetProbability) { // Setup var assessmentSection = new AssessmentSectionStub(); var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); assessmentSection.SetHydraulicBoundaryLocationCalculations(new[] { hydraulicBoundaryLocation }, true); var input = new WaveConditionsInput { HydraulicBoundaryLocation = hydraulicBoundaryLocation, WaterLevelType = waterLevelType, CalculationsTargetProbability = assessmentSection.WaterLevelCalculationsForUserDefinedTargetProbabilities.First() }; // Call HydraulicBoundaryLocationCalculation hydraulicBoundaryLocationCalculation = WaveConditionsInputHelper.GetHydraulicBoundaryLocationCalculation(input, assessmentSection); // Assert Assert.AreEqual(getExpectedTargetProbability(input, assessmentSection), hydraulicBoundaryLocationCalculation); }