public void CategorySeriesCreatesCategoryXAxisForString() { var dataSource = new NullPowerShellDataSource(); dataSource.Data.Add(new SolidPSObjectBase(new PSObject(new {Label = "Test", Value = 123}))); ChartSeriesViewModel viewModel = new ChartSeriesViewModel { LabelMemberPath = "Label", ValueMemberPath = "Value", DataSource = dataSource, EnableConfigureAxes = true }; var axis = viewModel.XAxis; Assert.NotNull( axis ); Assert.Equal( ChartAxisType.CategoryX, axis.AxisType ); }
private Series ConvertSeries(ChartSeriesViewModel series) { Series newSeries = null; var valueSeries = series.GetScaleForProperty(series.ValueMemberPath); var labelSeries = series.GetScaleForProperty(series.LabelMemberPath); switch (series.SeriesType) { case( ChartSeriesType.Column): { newSeries = new ColumnSeries { ValueField = series.ValueMemberPath, ItemsSource = series.DataSource.Data, FillColor = valueSeries.Color.ToOxyColor(), StrokeColor = valueSeries.Color.ToOxyColor(), YAxisKey = valueSeries.Name, XAxisKey = labelSeries.Name, }; break; } case( ChartSeriesType.Line ): { newSeries = new LineSeries { ItemsSource = series.DataSource.Data, DataFieldX = series.XMemberPath, DataFieldY = series.YMemberPath, MarkerType = MarkerType.Circle, Color = valueSeries.Color.ToOxyColor(), MarkerFill = valueSeries.Color.ToOxyColor(), YAxisKey = valueSeries.Name, XAxisKey = labelSeries.Name, }; break; } case( ChartSeriesType.Spline): { newSeries = new LineSeries { ItemsSource = series.DataSource.Data, DataFieldX = series.XMemberPath, DataFieldY = series.YMemberPath, MarkerType = MarkerType.Circle, Color = valueSeries.Color.ToOxyColor(), MarkerFill = valueSeries.Color.ToOxyColor(), Smooth = true, YAxisKey = valueSeries.Name, XAxisKey = labelSeries.Name, }; break; } case(ChartSeriesType.Area): { newSeries = new AreaSeries { ItemsSource = series.DataSource.Data, DataFieldX = series.XMemberPath, DataFieldY = series.YMemberPath, Color = valueSeries.Color.ToOxyColor(), Fill = valueSeries.Color.ToOxyColor(), MarkerFill = valueSeries.Color.ToOxyColor(), YAxisKey = valueSeries.Name, XAxisKey = labelSeries.Name, }; break; } case( ChartSeriesType.SplineArea): { newSeries = new AreaSeries { ItemsSource = series.DataSource.Data, DataFieldX = series.XMemberPath, DataFieldY = series.YMemberPath, Color = valueSeries.Color.ToOxyColor(), Fill = valueSeries.Color.ToOxyColor(), MarkerFill = valueSeries.Color.ToOxyColor(), Smooth = true, YAxisKey = valueSeries.Name, XAxisKey = labelSeries.Name, }; break; } case(ChartSeriesType.Bubble): { newSeries = new ScatterSeries { ItemsSource = series.DataSource.Data, DataFieldX = series.XMemberPath, DataFieldY = series.YMemberPath, DataFieldSize = series.RadiusMemberPath, MarkerFill = valueSeries.Color.ToOxyColor(), MarkerType = MarkerType.Circle, YAxisKey = valueSeries.Name, XAxisKey = labelSeries.Name, }; break; } case( ChartSeriesType.StepLine): { newSeries = new StairStepSeries { ItemsSource = series.DataSource.Data, DataFieldX = series.XMemberPath, DataFieldY = series.YMemberPath, Color = valueSeries.Color.ToOxyColor(), YAxisKey = valueSeries.Name, XAxisKey = labelSeries.Name, }; break; } default: { return null; } } newSeries.Title = series.Name; return newSeries; }
public void PolarSeriesCreatesNumericAngleXAxisForInteger() { var dataSource = new NullPowerShellDataSource(); dataSource.Data.Add(new SolidPSObjectBase(new PSObject(new { Label = 5, Value = 123 }))); ChartSeriesViewModel viewModel = new ChartSeriesViewModel { SeriesType = ChartSeriesType.PolarArea, AngleMemberPath = "Label", RadiusMemberPath = "Value", DataSource = dataSource, EnableConfigureAxes = true }; var axis = viewModel.XAxis; Assert.NotNull(axis); Assert.Equal(ChartAxisType.NumericAngle, axis.AxisType); }
public void ScatterSeriesThrowsWhenXAxisIsString() { var dataSource = new NullPowerShellDataSource(); dataSource.Data.Add(new SolidPSObjectBase(new PSObject(new {Label = "ASDF", Value = 123}))); Assert.Throws<Exceptions.InvalidChartAxisTypeException>(() => { ChartSeriesViewModel viewModel = new ChartSeriesViewModel { SeriesType = ChartSeriesType .Scatter, XMemberPath = "Label", YMemberPath = "Value", DataSource = dataSource, EnableConfigureAxes = true }; } ); }