public void GivenChartMultipleLineDataSeries_WhenUpdatedAfterChartMultipleLineDataLinesChanged_ChartMultipleLineDataSeriesLinesChanged() { // Given var chartMultipleLineData = new ChartMultipleLineData("Test name") { Lines = new[] { new[] { new Point2D(1.1, 2.2) } } }; var chartMultipleLineDataSeries = new ChartMultipleLineDataSeries(chartMultipleLineData); IEnumerable <DataPoint>[] drawnLines = chartMultipleLineDataSeries.Lines.ToArray(); // When chartMultipleLineData.Lines = new[] { new[] { new Point2D(3.3, 4.4) } }; chartMultipleLineDataSeries.Update(); // Then CollectionAssert.AreNotEqual(drawnLines, chartMultipleLineDataSeries.Lines); }
/// <summary> /// Creates a new instance of <see cref="WaveConditionsInputView"/>. /// </summary> /// <param name="calculation">The calculation to show in the view.</param> /// <param name="getHydraulicBoundaryLocationCalculationFunc">The <see cref="Func{TResult}"/> for obtaining the <see cref="HydraulicBoundaryLocationCalculation"/>.</param> /// <param name="inputViewStyle">The style which should be applied to the <see cref="ChartLineData"/>.</param> /// <exception cref="ArgumentNullException">Thrown when any input parameter is <c>null</c>.</exception> public WaveConditionsInputView(ICalculation <WaveConditionsInput> calculation, Func <HydraulicBoundaryLocationCalculation> getHydraulicBoundaryLocationCalculationFunc, IWaveConditionsInputViewStyle inputViewStyle) { if (calculation == null) { throw new ArgumentNullException(nameof(calculation)); } if (getHydraulicBoundaryLocationCalculationFunc == null) { throw new ArgumentNullException(nameof(getHydraulicBoundaryLocationCalculationFunc)); } if (inputViewStyle == null) { throw new ArgumentNullException(nameof(inputViewStyle)); } InitializeComponent(); this.getHydraulicBoundaryLocationCalculationFunc = getHydraulicBoundaryLocationCalculationFunc; calculationObserver = new Observer(UpdateChartTitle); calculationInputObserver = new Observer(UpdateCalculationInput); hydraulicBoundaryLocationCalculationObserver = new Observer(UpdateChartData); this.calculation = calculation; calculationObserver.Observable = calculation; calculationInputObserver.Observable = calculation.InputParameters; hydraulicBoundaryLocationCalculationObserver.Observable = getHydraulicBoundaryLocationCalculationFunc(); chartDataCollection = new ChartDataCollection(RiskeerCommonFormsResources.Calculation_Input); foreshoreChartData = RiskeerChartDataFactory.CreateForeshoreGeometryChartData(); lowerBoundaryRevetmentChartData = WaveConditionsChartDataFactory.CreateLowerRevetmentBoundaryChartData(inputViewStyle.RevetmentLineColor); upperBoundaryRevetmentChartData = WaveConditionsChartDataFactory.CreateUpperRevetmentBoundaryChartData(inputViewStyle.RevetmentLineColor); lowerBoundaryWaterLevelsChartData = WaveConditionsChartDataFactory.CreateLowerWaterLevelsBoundaryChartData(); upperBoundaryWaterLevelsChartData = WaveConditionsChartDataFactory.CreateUpperWaterLevelsBoundaryChartData(); assessmentLevelChartData = WaveConditionsChartDataFactory.CreateAssessmentLevelChartData(); waterLevelsChartData = WaveConditionsChartDataFactory.CreateWaterLevelsChartData(); revetmentBaseChartData = WaveConditionsChartDataFactory.CreateRevetmentBaseChartData(inputViewStyle.RevetmentLineColor); revetmentChartData = WaveConditionsChartDataFactory.CreateRevetmentChartData(inputViewStyle.RevetmentLineColor); chartDataCollection.Add(foreshoreChartData); chartDataCollection.Add(lowerBoundaryRevetmentChartData); chartDataCollection.Add(upperBoundaryRevetmentChartData); chartDataCollection.Add(lowerBoundaryWaterLevelsChartData); chartDataCollection.Add(upperBoundaryWaterLevelsChartData); chartDataCollection.Add(assessmentLevelChartData); chartDataCollection.Add(waterLevelsChartData); chartDataCollection.Add(revetmentBaseChartData); chartDataCollection.Add(revetmentChartData); SetChartData(); chartControl.Data = chartDataCollection; UpdateChartTitle(); }
public void CreateTangentLinesChartData_ReturnsChartMultipleLineData() { // Call ChartMultipleLineData data = MacroStabilityInwardsChartDataFactory.CreateTangentLinesChartData(); // Assert CollectionAssert.IsEmpty(data.Lines); Assert.AreEqual("Tangentlijnen", data.Name); AssertEqualStyle(data.Style, Color.Green, 1, ChartLineDashStyle.Dash); }
public void CreateWaterLevelsChartData_ReturnsEmptyChartMultipleLineDataWithExpectedStyling() { // Call ChartMultipleLineData data = WaveConditionsChartDataFactory.CreateWaterLevelsChartData(); // Assert CollectionAssert.IsEmpty(data.Lines); Assert.AreEqual("Waterstanden in berekening", data.Name); AssertEqualStyle(data.Style, Color.DarkTurquoise, 3, ChartLineDashStyle.DashDotDot); }
/// <summary> /// Creates a new instance of <see cref="ChartMultipleLineDataSeries"/>. /// </summary> /// <param name="chartMultipleLineData">The <see cref="ChartMultipleLineData"/> /// which the chart multiple line data series is based upon.</param> /// <exception cref="ArgumentNullException">Thrown when <paramref name="chartMultipleLineData"/> /// is <c>null</c>.</exception> public ChartMultipleLineDataSeries(ChartMultipleLineData chartMultipleLineData) { if (chartMultipleLineData == null) { throw new ArgumentNullException(nameof(chartMultipleLineData)); } this.chartMultipleLineData = chartMultipleLineData; Update(); }
public void Constructor_Always_CreatesNewInstanceOfDefaultStyle() { // Setup var dataA = new ChartMultipleLineData("test data"); // Call var dataB = new ChartMultipleLineData("test data"); // Assert Assert.AreNotSame(dataA.Style, dataB.Style); }
public void Lines_SetValidNewValue_GetsNewValue() { // Setup var data = new ChartMultipleLineData("test data"); var lines = new List <Point2D[]>(); // Call data.Lines = lines; // Assert Assert.AreSame(lines, data.Lines); }
private static void SetChartMultipleLineDataTestProperties(ChartMultipleLineData chartMultipleLineData) { chartMultipleLineData.Name = "Another name"; chartMultipleLineData.IsVisible = false; chartMultipleLineData.Lines = new[] { new[] { new Point2D(1.1, 2.2) } }; }
public void Constructor_ExpectedValues() { // Call var data = new ChartMultipleLineData("test data"); // Assert Assert.IsInstanceOf <ChartData>(data); CollectionAssert.IsEmpty(data.Lines); Assert.AreEqual(Color.Black, data.Style.Color); Assert.AreEqual(2, data.Style.Width); Assert.AreEqual(ChartLineDashStyle.Solid, data.Style.DashStyle); Assert.IsFalse(data.Style.IsEditable); }
public void Lines_SetNullValue_ThrowsArgumentNullException() { // Setup var data = new ChartMultipleLineData("test data"); // Call TestDelegate test = () => data.Lines = null; // Assert const string expectedMessage = "The collection of point arrays cannot be null."; TestHelper.AssertThrowsArgumentExceptionAndTestMessage <ArgumentNullException>(test, expectedMessage); }
public void Constructor_WithStyle_ExpectedValue() { // Setup var style = new ChartLineStyle(); // Call var data = new ChartMultipleLineData("test data", style); // Assert Assert.AreEqual("test data", data.Name); CollectionAssert.IsEmpty(data.Lines); Assert.IsInstanceOf <ChartData>(data); Assert.AreSame(style, data.Style); }
/// <summary> /// Asserts whether <paramref name="actual"/> corresponds to <paramref name="tangentLines"/> /// and <paramref name="surfaceLine"/>. /// </summary> /// <param name="tangentLines">The original tangent line Y-coordinates.</param> /// <param name="surfaceLine">The original surface line.</param> /// <param name="actual">The actual <see cref="ChartMultipleLineData"/>.</param> /// <exception cref="AssertionException">Thrown when <paramref name="actual"/> /// does not correspond to <paramref name="tangentLines"/> and <paramref name="surfaceLine"/>. /// </exception> private static void AssertTangentLinesChartData(IEnumerable <RoundedDouble> tangentLines, MacroStabilityInwardsSurfaceLine surfaceLine, ChartMultipleLineData actual) { CollectionAssert.IsNotEmpty(actual.Lines); RoundedDouble[] tangentLinesArray = tangentLines.ToArray(); for (var i = 0; i < tangentLinesArray.Length; i++) { var expectedPoints = new[] { new Point2D(surfaceLine.LocalGeometry.First().X, tangentLinesArray[i]), new Point2D(surfaceLine.LocalGeometry.Last().X, tangentLinesArray[i]) }; CollectionAssert.AreEqual(expectedPoints, actual.Lines.ElementAt(i)); } }
public void Constructor_Always_PropertiesHaveExpectedAttributesValues(bool isStyleEditable) { // Setup var chartLineData = new ChartMultipleLineData("Test", new ChartLineStyle { IsEditable = isStyleEditable }); // Call var properties = new ChartMultipleLineDataProperties { Data = chartLineData }; // Assert PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties); Assert.AreEqual(6, dynamicProperties.Count); const string styleCategory = "Stijl"; PropertyDescriptor colorProperty = dynamicProperties[colorPropertyIndex]; Assert.IsInstanceOf <ColorTypeConverter>(colorProperty.Converter); PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(colorProperty, styleCategory, "Kleur", "De kleur van de lijnen waarmee deze gegevensreeks wordt weergegeven.", !isStyleEditable); PropertyDescriptor widthProperty = dynamicProperties[widthPropertyIndex]; PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(widthProperty, styleCategory, "Lijndikte", "De dikte van de lijnen waarmee deze gegevensreeks wordt weergegeven.", !isStyleEditable); PropertyDescriptor styleProperty = dynamicProperties[stylePropertyIndex]; Assert.IsInstanceOf <EnumTypeConverter>(styleProperty.Converter); PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(styleProperty, styleCategory, "Lijnstijl", "De stijl van de lijnen waarmee deze gegevensreeks wordt weergegeven.", !isStyleEditable); }
public void ConvertSeriesProperties_ChartLineStyleSetWithDifferentStrokeWidths_AppliesStyleToSeries(int width) { // Setup var converter = new ChartMultipleLineDataConverter(); var multipleLineSeries = new MultipleLineSeries(); var data = new ChartMultipleLineData("test", new ChartLineStyle { Color = Color.Red, Width = width, DashStyle = ChartLineDashStyle.Solid }); // Call converter.ConvertSeriesProperties(data, multipleLineSeries); // Assert Assert.AreEqual(width, multipleLineSeries.StrokeThickness); }
public void ConvertSeriesProperties_ChartLineStyleSetWithDifferentStrokeColors_AppliesStyleToSeries(KnownColor color) { // Setup var converter = new ChartMultipleLineDataConverter(); var multipleLineSeries = new MultipleLineSeries(); Color expectedColor = Color.FromKnownColor(color); var data = new ChartMultipleLineData("test", new ChartLineStyle { Color = expectedColor, Width = 3, DashStyle = ChartLineDashStyle.Solid }); // Call converter.ConvertSeriesProperties(data, multipleLineSeries); // Assert Assert.AreEqual(OxyColor.FromArgb(expectedColor.A, expectedColor.R, expectedColor.G, expectedColor.B), multipleLineSeries.Color); }
public void ConvertSeriesProperties_ChartLineStyleSetWithDifferentDashStyles_AppliesStyleToSeries(ChartLineDashStyle dashStyle, LineStyle expectedLineStyle) { // Setup var converter = new ChartMultipleLineDataConverter(); var multipleLineSeries = new MultipleLineSeries(); var data = new ChartMultipleLineData("test", new ChartLineStyle { Color = Color.Red, Width = 3, DashStyle = dashStyle }); // Call converter.ConvertSeriesProperties(data, multipleLineSeries); // Assert Assert.AreEqual(expectedLineStyle, multipleLineSeries.LineStyle); Assert.IsNull(multipleLineSeries.Dashes); }
public void Constructor_ChartMultipleLineDataWithTestProperties_ChartMultipleLineDataSeriesCreatedAccordingly() { // Setup var chartMultipleLineData = new ChartMultipleLineData("Test name", new ChartLineStyle { Color = color, Width = 3, DashStyle = ChartLineDashStyle.Dash }); SetChartMultipleLineDataTestProperties(chartMultipleLineData); // Call var chartMultipleLineDataSeries = new ChartMultipleLineDataSeries(chartMultipleLineData); // Assert Assert.IsInstanceOf <MultipleLineSeries>(chartMultipleLineDataSeries); Assert.IsInstanceOf <IChartDataSeries>(chartMultipleLineDataSeries); AssertChartMultipleLineDataSeriesTestProperties(chartMultipleLineDataSeries); }
public void SetProperties_IndividualProperties_UpdateDataAndNotifyObservers() { // Setup const int numberOfChangedProperties = 3; var mocks = new MockRepository(); var observer = mocks.StrictMock <IObserver>(); observer.Expect(o => o.UpdateObserver()).Repeat.Times(numberOfChangedProperties); mocks.ReplayAll(); var chartLineData = new ChartMultipleLineData("Test", new ChartLineStyle { Color = Color.AliceBlue, Width = 3, DashStyle = ChartLineDashStyle.Solid }); chartLineData.Attach(observer); var properties = new ChartMultipleLineDataProperties { Data = chartLineData }; Color newColor = Color.Blue; const int newWidth = 6; const ChartLineDashStyle newDashStyle = ChartLineDashStyle.DashDot; // Call properties.Color = newColor; properties.Width = newWidth; properties.DashStyle = newDashStyle; // Assert Assert.AreEqual(newColor, chartLineData.Style.Color); Assert.AreEqual(newWidth, chartLineData.Style.Width); Assert.AreEqual(newDashStyle, chartLineData.Style.DashStyle); mocks.VerifyAll(); }
public void Update_ChartMultipleLineDataWithTestProperties_ChartMultipleLineDataSeriesUpdatedAccordingly() { // Setup var chartMultipleLineData = new ChartMultipleLineData("Test name", new ChartLineStyle { Color = color, Width = 3, DashStyle = ChartLineDashStyle.Dash }); var chartMultipleLineDataSeries = new ChartMultipleLineDataSeries(chartMultipleLineData); SetChartMultipleLineDataTestProperties(chartMultipleLineData); // Precondition AssertChartMultipleLineDataSeriesDefaultProperties(chartMultipleLineDataSeries); // Call chartMultipleLineDataSeries.Update(); // Assert AssertChartMultipleLineDataSeriesTestProperties(chartMultipleLineDataSeries); }
public void Data_SetNewChartLineDataInstance_ReturnCorrectPropertyValues() { // Setup Color color = Color.Aqua; const int width = 4; const ChartLineDashStyle dashStyle = ChartLineDashStyle.DashDot; var chartLineData = new ChartMultipleLineData("Test", new ChartLineStyle { Color = color, Width = width, DashStyle = dashStyle }); var properties = new ChartMultipleLineDataProperties(); // Call properties.Data = chartLineData; // Assert Assert.AreEqual(color, properties.Color); Assert.AreEqual(width, properties.Width); Assert.AreEqual(dashStyle, properties.DashStyle); }
public void OnDrop_ChartDataMovedToPositionOutsideRange_ThrowsException(int position) { // Setup var observer = mocks.StrictMock <IObserver>(); mocks.ReplayAll(); var chartData1 = new ChartLineData("line"); var chartData2 = new ChartAreaData("area"); var chartData3 = new ChartPointData("point"); var chartData4 = new ChartMultipleAreaData("multiple area"); var chartData5 = new ChartMultipleLineData("multiple line"); var chartDataCollection = new ChartDataCollection("test"); chartDataCollection.Add(chartData1); chartDataCollection.Add(chartData2); chartDataCollection.Add(chartData3); chartDataCollection.Add(chartData4); chartDataCollection.Add(chartData5); chartDataCollection.Attach(observer); chartLegendView.Data = chartDataCollection; ChartDataContext context = GetContext(chartData1); ChartDataContext collectionContext = GetContext(chartDataCollection); chartDataCollection.Attach(observer); using (var treeViewControl = new TreeViewControl()) { // Call void Call() => info.OnDrop(context, collectionContext, collectionContext, position, treeViewControl); // Assert Assert.Throws <ArgumentOutOfRangeException>(Call); } }
public void ConvertSeriesItems_ChartMultipleLineDataWithRandomLineData_ConvertsAllLinesToMultipleLineSeries() { // Setup var converter = new ChartMultipleLineDataConverter(); var multipleLineSeries = new MultipleLineSeries(); var random = new Random(21); int randomCount = random.Next(5, 10); var points1 = new Collection <Point2D>(); var points2 = new Collection <Point2D>(); for (var i = 0; i < randomCount; i++) { points1.Add(new Point2D(random.NextDouble(), random.NextDouble())); points2.Add(new Point2D(random.NextDouble(), random.NextDouble())); } var lines = new List <Point2D[]> { points1.ToArray(), points2.ToArray() }; var lineData = new ChartMultipleLineData("test data") { Lines = lines }; // Call converter.ConvertSeriesData(lineData, multipleLineSeries); // Assert Assert.AreEqual(2, multipleLineSeries.Lines.Count); CollectionAssert.AreEqual(lines.ElementAt(0).Select(t => new DataPoint(t.X, t.Y)), multipleLineSeries.Lines[0]); CollectionAssert.AreEqual(lines.ElementAt(1).Select(t => new DataPoint(t.X, t.Y)), multipleLineSeries.Lines[1]); }
/// <summary> /// Creates a new instance of <see cref="MacroStabilityInwardsInputView"/>. /// </summary> /// <param name="data">The calculation to show the input for.</param> /// <param name="generalInput">General calculation parameters that are the same across all calculations.</param> /// <param name="assessmentSection">The assessment section the calculation belongs to.</param> /// <param name="getHydraulicBoundaryLocationCalculationFunc">The <see cref="Func{TResult}"/> for /// obtaining the hydraulic boundary location calculation.</param> /// <exception cref="ArgumentNullException">Thrown when any input parameter is <c>null</c>.</exception> public MacroStabilityInwardsInputView(MacroStabilityInwardsCalculationScenario data, GeneralMacroStabilityInwardsInput generalInput, IAssessmentSection assessmentSection, Func <HydraulicBoundaryLocationCalculation> getHydraulicBoundaryLocationCalculationFunc) { if (data == null) { throw new ArgumentNullException(nameof(data)); } if (generalInput == null) { throw new ArgumentNullException(nameof(generalInput)); } if (assessmentSection == null) { throw new ArgumentNullException(nameof(assessmentSection)); } if (getHydraulicBoundaryLocationCalculationFunc == null) { throw new ArgumentNullException(nameof(getHydraulicBoundaryLocationCalculationFunc)); } this.data = data; this.generalInput = generalInput; this.getHydraulicBoundaryLocationCalculationFunc = getHydraulicBoundaryLocationCalculationFunc; InitializeComponent(); calculationObserver = new Observer(UpdateChartTitle) { Observable = data }; calculationInputObserver = new Observer(UpdateViewData) { Observable = data.InputParameters }; hydraulicLocationCalculationObserver = new Observer(UpdateViewData) { Observable = getHydraulicBoundaryLocationCalculationFunc() }; failureMechanismContributionObserver = new Observer(UpdateViewData) { Observable = assessmentSection.FailureMechanismContribution }; chartDataCollection = new ChartDataCollection(RiskeerCommonFormsResources.Calculation_Input); soilProfileChartData = RiskeerChartDataFactory.CreateSoilProfileChartData(); surfaceLineChartData = RiskeerChartDataFactory.CreateSurfaceLineChartData(); surfaceLevelInsideChartData = MacroStabilityInwardsChartDataFactory.CreateSurfaceLevelInsideChartData(); ditchPolderSideChartData = RiskeerChartDataFactory.CreateDitchPolderSideChartData(); bottomDitchPolderSideChartData = RiskeerChartDataFactory.CreateBottomDitchPolderSideChartData(); bottomDitchDikeSideChartData = RiskeerChartDataFactory.CreateBottomDitchDikeSideChartData(); ditchDikeSideChartData = RiskeerChartDataFactory.CreateDitchDikeSideChartData(); dikeToeAtPolderChartData = RiskeerChartDataFactory.CreateDikeToeAtPolderChartData(); shoulderTopInsideChartData = MacroStabilityInwardsChartDataFactory.CreateShoulderTopInsideChartData(); shoulderBaseInsideChartData = MacroStabilityInwardsChartDataFactory.CreateShoulderBaseInsideChartData(); dikeTopAtPolderChartData = MacroStabilityInwardsChartDataFactory.CreateDikeTopAtPolderChartData(); dikeToeAtRiverChartData = RiskeerChartDataFactory.CreateDikeToeAtRiverChartData(); dikeTopAtRiverChartData = MacroStabilityInwardsChartDataFactory.CreateDikeTopAtRiverChartData(); surfaceLevelOutsideChartData = MacroStabilityInwardsChartDataFactory.CreateSurfaceLevelOutsideChartData(); tangentLinesData = MacroStabilityInwardsChartDataFactory.CreateTangentLinesChartData(); leftGridChartData = MacroStabilityInwardsChartDataFactory.CreateLeftGridChartData(); rightGridChartData = MacroStabilityInwardsChartDataFactory.CreateRightGridChartData(); waternetZonesExtremeChartData = MacroStabilityInwardsChartDataFactory.CreateWaternetZonesExtremeChartDataCollection(); waternetZonesDailyChartData = MacroStabilityInwardsChartDataFactory.CreateWaternetZonesDailyChartDataCollection(); chartDataCollection.Add(soilProfileChartData); chartDataCollection.Add(surfaceLineChartData); chartDataCollection.Add(surfaceLevelInsideChartData); chartDataCollection.Add(ditchPolderSideChartData); chartDataCollection.Add(bottomDitchPolderSideChartData); chartDataCollection.Add(bottomDitchDikeSideChartData); chartDataCollection.Add(ditchDikeSideChartData); chartDataCollection.Add(dikeToeAtPolderChartData); chartDataCollection.Add(shoulderTopInsideChartData); chartDataCollection.Add(shoulderBaseInsideChartData); chartDataCollection.Add(dikeTopAtPolderChartData); chartDataCollection.Add(dikeToeAtRiverChartData); chartDataCollection.Add(dikeTopAtRiverChartData); chartDataCollection.Add(surfaceLevelOutsideChartData); chartDataCollection.Add(tangentLinesData); chartDataCollection.Add(leftGridChartData); chartDataCollection.Add(rightGridChartData); chartDataCollection.Add(waternetZonesExtremeChartData); chartDataCollection.Add(waternetZonesDailyChartData); soilLayerChartDataLookup = new List <ChartMultipleAreaData>(); SetChartData(); chartControl.Data = chartDataCollection; UpdateChartTitle(); UpdateTableData(); }
/// <summary> /// Creates a new instance of <see cref="MacroStabilityInwardsOutputChartControl"/>. /// </summary> /// <param name="data">The calculation to show the output for.</param> /// <param name="generalInput">General calculation parameters that are the same across all calculations.</param> /// <param name="getNormativeAssessmentLevelFunc"><see cref="Func{TResult}"/> for obtaining the normative assessment level.</param> /// <exception cref="ArgumentNullException">Thrown when any input parameter is <c>null</c>.</exception> public MacroStabilityInwardsOutputChartControl(MacroStabilityInwardsCalculationScenario data, GeneralMacroStabilityInwardsInput generalInput, Func <RoundedDouble> getNormativeAssessmentLevelFunc) { if (data == null) { throw new ArgumentNullException(nameof(data)); } if (generalInput == null) { throw new ArgumentNullException(nameof(generalInput)); } if (getNormativeAssessmentLevelFunc == null) { throw new ArgumentNullException(nameof(getNormativeAssessmentLevelFunc)); } this.data = data; this.generalInput = generalInput; this.getNormativeAssessmentLevelFunc = getNormativeAssessmentLevelFunc; InitializeComponent(); chartDataCollection = new ChartDataCollection(RiskeerCommonFormsResources.CalculationOutput_DisplayName); soilProfileChartData = RiskeerChartDataFactory.CreateSoilProfileChartData(); surfaceLineChartData = RiskeerChartDataFactory.CreateSurfaceLineChartData(); surfaceLevelInsideChartData = MacroStabilityInwardsChartDataFactory.CreateSurfaceLevelInsideChartData(); ditchPolderSideChartData = RiskeerChartDataFactory.CreateDitchPolderSideChartData(); bottomDitchPolderSideChartData = RiskeerChartDataFactory.CreateBottomDitchPolderSideChartData(); bottomDitchDikeSideChartData = RiskeerChartDataFactory.CreateBottomDitchDikeSideChartData(); ditchDikeSideChartData = RiskeerChartDataFactory.CreateDitchDikeSideChartData(); dikeToeAtPolderChartData = RiskeerChartDataFactory.CreateDikeToeAtPolderChartData(); shoulderTopInsideChartData = MacroStabilityInwardsChartDataFactory.CreateShoulderTopInsideChartData(); shoulderBaseInsideChartData = MacroStabilityInwardsChartDataFactory.CreateShoulderBaseInsideChartData(); dikeTopAtPolderChartData = MacroStabilityInwardsChartDataFactory.CreateDikeTopAtPolderChartData(); dikeToeAtRiverChartData = RiskeerChartDataFactory.CreateDikeToeAtRiverChartData(); dikeTopAtRiverChartData = MacroStabilityInwardsChartDataFactory.CreateDikeTopAtRiverChartData(); surfaceLevelOutsideChartData = MacroStabilityInwardsChartDataFactory.CreateSurfaceLevelOutsideChartData(); waternetZonesExtremeChartData = MacroStabilityInwardsChartDataFactory.CreateWaternetZonesExtremeChartDataCollection(); waternetZonesDailyChartData = MacroStabilityInwardsChartDataFactory.CreateWaternetZonesDailyChartDataCollection(); tangentLinesChartData = MacroStabilityInwardsChartDataFactory.CreateTangentLinesChartData(); leftGridChartData = MacroStabilityInwardsChartDataFactory.CreateLeftGridChartData(); rightGridChartData = MacroStabilityInwardsChartDataFactory.CreateRightGridChartData(); slipPlaneChartData = MacroStabilityInwardsChartDataFactory.CreateSlipPlaneChartData(); leftCircleRadiusChartData = MacroStabilityInwardsChartDataFactory.CreateActiveCircleRadiusChartData(); rightCircleRadiusChartData = MacroStabilityInwardsChartDataFactory.CreatePassiveCircleRadiusChartData(); slicesChartData = MacroStabilityInwardsSliceChartDataFactory.CreateSlicesChartData(); sliceParametersChartDataCollection = MacroStabilityInwardsSliceChartDataFactory.CreateSliceParametersChartDataCollection(); sliceCohesionChartData = MacroStabilityInwardsSliceChartDataFactory.CreateCohesionChartData(); sliceEffectiveStressChartData = MacroStabilityInwardsSliceChartDataFactory.CreateEffectiveStressChartData(); sliceTotalPorePressureChartData = MacroStabilityInwardsSliceChartDataFactory.CreateTotalPorePressureChartData(); sliceWeightChartData = MacroStabilityInwardsSliceChartDataFactory.CreateWeightChartData(); slicePiezometricPorePressureChartData = MacroStabilityInwardsSliceChartDataFactory.CreatePiezometricPorePressureChartData(); slicePorePressureChartData = MacroStabilityInwardsSliceChartDataFactory.CreatePorePressureChartData(); sliceVerticalPorePressureChartData = MacroStabilityInwardsSliceChartDataFactory.CreateVerticalPorePressureChartData(); sliceHorizontalPorePressureChartData = MacroStabilityInwardsSliceChartDataFactory.CreateHorizontalPorePressureChartData(); sliceOverConsolidationRatioChartData = MacroStabilityInwardsSliceChartDataFactory.CreateOverConsolidationRatioChartData(); slicePopChartData = MacroStabilityInwardsSliceChartDataFactory.CreatePopChartData(); sliceNormalStressChartData = MacroStabilityInwardsSliceChartDataFactory.CreateNormalStressChartData(); sliceShearStressChartData = MacroStabilityInwardsSliceChartDataFactory.CreateShearStressChartData(); sliceLoadStressChartData = MacroStabilityInwardsSliceChartDataFactory.CreateLoadStressChartData(); chartDataCollection.Add(soilProfileChartData); chartDataCollection.Add(surfaceLineChartData); chartDataCollection.Add(surfaceLevelInsideChartData); chartDataCollection.Add(ditchPolderSideChartData); chartDataCollection.Add(bottomDitchPolderSideChartData); chartDataCollection.Add(bottomDitchDikeSideChartData); chartDataCollection.Add(ditchDikeSideChartData); chartDataCollection.Add(dikeToeAtPolderChartData); chartDataCollection.Add(shoulderTopInsideChartData); chartDataCollection.Add(shoulderBaseInsideChartData); chartDataCollection.Add(dikeTopAtPolderChartData); chartDataCollection.Add(dikeToeAtRiverChartData); chartDataCollection.Add(dikeTopAtRiverChartData); chartDataCollection.Add(surfaceLevelOutsideChartData); chartDataCollection.Add(waternetZonesExtremeChartData); chartDataCollection.Add(waternetZonesDailyChartData); chartDataCollection.Add(tangentLinesChartData); chartDataCollection.Add(leftGridChartData); chartDataCollection.Add(rightGridChartData); chartDataCollection.Add(slicesChartData); chartDataCollection.Add(slipPlaneChartData); chartDataCollection.Add(leftCircleRadiusChartData); chartDataCollection.Add(rightCircleRadiusChartData); chartDataCollection.Add(sliceParametersChartDataCollection); sliceParametersChartDataCollection.Add(sliceLoadStressChartData); sliceParametersChartDataCollection.Add(sliceShearStressChartData); sliceParametersChartDataCollection.Add(sliceNormalStressChartData); sliceParametersChartDataCollection.Add(slicePopChartData); sliceParametersChartDataCollection.Add(sliceOverConsolidationRatioChartData); sliceParametersChartDataCollection.Add(sliceHorizontalPorePressureChartData); sliceParametersChartDataCollection.Add(sliceVerticalPorePressureChartData); sliceParametersChartDataCollection.Add(slicePorePressureChartData); sliceParametersChartDataCollection.Add(slicePiezometricPorePressureChartData); sliceParametersChartDataCollection.Add(sliceWeightChartData); sliceParametersChartDataCollection.Add(sliceTotalPorePressureChartData); sliceParametersChartDataCollection.Add(sliceEffectiveStressChartData); sliceParametersChartDataCollection.Add(sliceCohesionChartData); soilLayerChartDataLookup = new List <ChartMultipleAreaData>(); phreaticLineExtremeLookup = new Dictionary <MacroStabilityInwardsPhreaticLine, ChartLineData>(); phreaticLineDailyLookup = new Dictionary <MacroStabilityInwardsPhreaticLine, ChartLineData>(); waternetLineExtremeLookup = new Dictionary <MacroStabilityInwardsWaternetLine, ChartMultipleAreaData>(); waternetLineDailyLookup = new Dictionary <MacroStabilityInwardsWaternetLine, ChartMultipleAreaData>(); UpdateChartData(); chartControl.Data = chartDataCollection; }