public void CreateInstance_WaveImpactAsphaltCoverWaveConditionsInputContext_ReturnViewWithStylingApplied() { // Setup var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation(); var context = new WaveImpactAsphaltCoverWaveConditionsInputContext( new WaveConditionsInput(), calculation, new AssessmentSectionStub(), Array.Empty <ForeshoreProfile>()); // Call var view = (WaveConditionsInputView)info.CreateInstance(context); // Assert ChartDataCollection chartData = view.Chart.Data; var lowerBoundaryRevetmentChartData = (ChartLineData)chartData.Collection.ElementAt(lowerBoundaryRevetmentChartDataIndex); var upperBoundaryRevetmentChartData = (ChartLineData)chartData.Collection.ElementAt(upperBoundaryRevetmentChartDataIndex); var revetmentBaseChartData = (ChartLineData)chartData.Collection.ElementAt(revetmentBaseChartDataIndex); var revetmentChartData = (ChartLineData)chartData.Collection.ElementAt(revetmentChartDataIndex); Color revetmentLineColor = Color.Gray; Assert.AreEqual(revetmentLineColor, lowerBoundaryRevetmentChartData.Style.Color); Assert.AreEqual(revetmentLineColor, upperBoundaryRevetmentChartData.Style.Color); Assert.AreEqual(Color.FromArgb(120, revetmentLineColor), revetmentBaseChartData.Style.Color); Assert.AreEqual(revetmentLineColor, revetmentChartData.Style.Color); }
public void CreateInstance_WithContextThatHasInputWithSpecificWaterLevelType_ReturnViewWithCorrespondingAssessmentLevel( IAssessmentSection assessmentSection, Action <WaveConditionsInput> configureInputAction, RoundedDouble expectedAssessmentLevel) { // Setup var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation(); configureInputAction(calculation.InputParameters); var context = new WaveImpactAsphaltCoverWaveConditionsInputContext( calculation.InputParameters, calculation, assessmentSection, Array.Empty <ForeshoreProfile>()); // Call var view = (WaveConditionsInputView)info.CreateInstance(context); // Assert ChartDataCollection chartData = view.Chart.Data; var designWaterLevelChartData = (ChartLineData)chartData.Collection.ElementAt(designWaterLevelChartDataIndex); if (expectedAssessmentLevel != RoundedDouble.NaN) { Assert.AreEqual(expectedAssessmentLevel, designWaterLevelChartData.Points.First().Y); } else { Assert.IsEmpty(designWaterLevelChartData.Points); } }
public void CreateInstance_WithContextThatHasInputWithSpecificWaterLevelType_ExpectedProperties( IAssessmentSection assessmentSection, Action <WaveConditionsInput> configureInputAction, RoundedDouble expectedAssessmentLevel) { // Setup var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation(); configureInputAction(calculation.InputParameters); var context = new WaveImpactAsphaltCoverWaveConditionsInputContext(calculation.InputParameters, calculation, assessmentSection, Array.Empty <ForeshoreProfile>()); using (var plugin = new WaveImpactAsphaltCoverPlugin()) { PropertyInfo info = GetInfo(plugin); // Call IObjectProperties objectProperties = info.CreateInstance(context); // Assert Assert.IsInstanceOf <WaveImpactAsphaltCoverWaveConditionsInputContextProperties>(objectProperties); Assert.AreSame(context, objectProperties.Data); Assert.AreEqual(expectedAssessmentLevel, ((WaveImpactAsphaltCoverWaveConditionsInputContextProperties)objectProperties).AssessmentLevel); } }
public void RevetmentType_SetNewValue_ThrowsInvalidOperationException() { // Setup var mockRepository = new MockRepository(); var assessmentSection = mockRepository.Stub <IAssessmentSection>(); var handler = mockRepository.Stub <IObservablePropertyChangeHandler>(); mockRepository.ReplayAll(); var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation(); var context = new WaveImpactAsphaltCoverWaveConditionsInputContext( calculation.InputParameters, calculation, assessmentSection, Enumerable.Empty <ForeshoreProfile>()); var properties = new WaveImpactAsphaltCoverWaveConditionsInputContextProperties( context, AssessmentSectionTestHelper.GetTestAssessmentLevel, handler); // Call TestDelegate test = () => properties.RevetmentType = string.Empty; // Assert Assert.Throws <InvalidOperationException>(test); mockRepository.VerifyAll(); }
public void Constructor_ExpectedValues() { // Setup var mockRepository = new MockRepository(); var assessmentSection = mockRepository.Stub <IAssessmentSection>(); var handler = mockRepository.Stub <IObservablePropertyChangeHandler>(); mockRepository.ReplayAll(); var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation(); var context = new WaveImpactAsphaltCoverWaveConditionsInputContext( calculation.InputParameters, calculation, assessmentSection, Enumerable.Empty <ForeshoreProfile>()); // Call var properties = new WaveImpactAsphaltCoverWaveConditionsInputContextProperties( context, AssessmentSectionTestHelper.GetTestAssessmentLevel, handler); // Assert Assert.IsInstanceOf <WaveConditionsInputContextProperties <WaveImpactAsphaltCoverWaveConditionsInputContext, WaveConditionsInput, string> >(properties); Assert.AreSame(context, properties.Data); Assert.AreEqual("Asfalt", properties.RevetmentType); mockRepository.VerifyAll(); }
public void Constructor_ExpectedValues() { // Setup var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation(); var foreshoreProfiles = new[] { new TestForeshoreProfile() }; var assessmentSection = new AssessmentSectionStub(); // Call var context = new WaveImpactAsphaltCoverWaveConditionsInputContext(calculation.InputParameters, calculation, assessmentSection, foreshoreProfiles); // Assert Assert.IsInstanceOf <WaveConditionsInputContext <WaveConditionsInput> >(context); Assert.AreSame(calculation.InputParameters, context.WrappedData); Assert.AreSame(calculation, context.Calculation); Assert.AreSame(assessmentSection, context.AssessmentSection); Assert.AreSame(foreshoreProfiles, context.ForeshoreProfiles); }