public void Constructor_Always_PropertiesHaveExpectedAttributesValues() { // Setup var mocks = new MockRepository(); var assessmentSection = mocks.Stub <IAssessmentSection>(); var handler = mocks.Stub <IObservablePropertyChangeHandler>(); mocks.ReplayAll(); var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation(); var context = new GrassCoverErosionOutwardsWaveConditionsInputContext( calculation.InputParameters, calculation, assessmentSection, Enumerable.Empty <ForeshoreProfile>()); // Call var properties = new GrassCoverErosionOutwardsWaveConditionsInputContextProperties( context, AssessmentSectionTestHelper.GetTestAssessmentLevel, handler); // Assert PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties); Assert.AreEqual(16, dynamicProperties.Count); PropertyDescriptor revetmentTypeProperty = dynamicProperties[10]; Assert.IsInstanceOf <EnumTypeConverter>(revetmentTypeProperty.Converter); PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(revetmentTypeProperty, "Modelinstellingen", "Type bekleding", "Het type van de bekleding waarvoor berekend wordt."); mocks.VerifyAll(); }
public void CreateInstance_WithContextThatHasInputWithSpecificWaterLevelType_ExpectedProperties( IAssessmentSection assessmentSection, Action <WaveConditionsInput> configureInputAction, RoundedDouble expectedAssessmentLevel) { // Setup var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation(); configureInputAction(calculation.InputParameters); var context = new GrassCoverErosionOutwardsWaveConditionsInputContext(calculation.InputParameters, calculation, assessmentSection, Enumerable.Empty <ForeshoreProfile>()); using (var plugin = new GrassCoverErosionOutwardsPlugin()) { PropertyInfo info = GetInfo(plugin); // Call IObjectProperties objectProperties = info.CreateInstance(context); // Assert Assert.IsInstanceOf <GrassCoverErosionOutwardsWaveConditionsInputContextProperties>(objectProperties); Assert.AreSame(context, objectProperties.Data); Assert.AreEqual(expectedAssessmentLevel, ((GrassCoverErosionOutwardsWaveConditionsInputContextProperties)objectProperties).AssessmentLevel); } }
public void Constructor_ExpectedValues() { // Setup var mockRepository = new MockRepository(); var handler = mockRepository.Stub <IObservablePropertyChangeHandler>(); var assessmentSection = mockRepository.Stub <IAssessmentSection>(); mockRepository.ReplayAll(); var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation(); var context = new GrassCoverErosionOutwardsWaveConditionsInputContext( calculation.InputParameters, calculation, assessmentSection, Enumerable.Empty <ForeshoreProfile>()); // Call var properties = new GrassCoverErosionOutwardsWaveConditionsInputContextProperties( context, AssessmentSectionTestHelper.GetTestAssessmentLevel, handler); // Assert Assert.IsInstanceOf <WaveConditionsInputContextProperties < GrassCoverErosionOutwardsWaveConditionsInputContext, GrassCoverErosionOutwardsWaveConditionsInput, GrassCoverErosionOutwardsWaveConditionsCalculationType> >(properties); Assert.AreSame(context, properties.Data); Assert.AreEqual(calculation.InputParameters.CalculationType, properties.RevetmentType); mockRepository.VerifyAll(); }
public void RevetmentType_SetNewValue_InputChangedAndObservablesNotified() { // Setup var random = new Random(21); var mocks = new MockRepository(); var assessmentSection = mocks.Stub <IAssessmentSection>(); var observable = mocks.StrictMock <IObservable>(); observable.Expect(o => o.NotifyObservers()); mocks.ReplayAll(); var customHandler = new SetPropertyValueAfterConfirmationParameterTester(new[] { observable }); var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation(); var context = new GrassCoverErosionOutwardsWaveConditionsInputContext( calculation.InputParameters, calculation, assessmentSection, Enumerable.Empty <ForeshoreProfile>()); var properties = new GrassCoverErosionOutwardsWaveConditionsInputContextProperties( context, AssessmentSectionTestHelper.GetTestAssessmentLevel, customHandler); // Call properties.RevetmentType = random.NextEnumValue <GrassCoverErosionOutwardsWaveConditionsCalculationType>(); // Assert Assert.IsTrue(customHandler.Called); mocks.VerifyAll(); }
public void CreateInstance_GrassCoverErosionOutwardsWaveConditionsInputContext_ReturnViewWithStylingApplied() { // Setup var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation(); var context = new GrassCoverErosionOutwardsWaveConditionsInputContext( new GrassCoverErosionOutwardsWaveConditionsInput(), calculation, new AssessmentSectionStub(), Enumerable.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.Green; 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 GrassCoverErosionOutwardsWaveConditionsCalculation(); configureInputAction(calculation.InputParameters); var context = new GrassCoverErosionOutwardsWaveConditionsInputContext( calculation.InputParameters, calculation, assessmentSection, Enumerable.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 Constructor_ExpectedValues() { // Setup var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation(); var assessmentSection = new AssessmentSectionStub(); IEnumerable <ForeshoreProfile> foreshoreProfiles = Enumerable.Empty <ForeshoreProfile>(); // Call var context = new GrassCoverErosionOutwardsWaveConditionsInputContext(calculation.InputParameters, calculation, assessmentSection, foreshoreProfiles); // Assert Assert.IsInstanceOf <WaveConditionsInputContext <GrassCoverErosionOutwardsWaveConditionsInput> >(context); Assert.AreSame(calculation.InputParameters, context.WrappedData); Assert.AreSame(calculation, context.Calculation); Assert.AreSame(assessmentSection, context.AssessmentSection); Assert.AreSame(foreshoreProfiles, context.ForeshoreProfiles); }