public void DefaultConstructor_RetunsDefaultValues() { // Call var series = new MultipleLineSeries(); // Assert Assert.AreEqual(OxyColors.Fuchsia, series.Color); Assert.AreEqual(0, series.StrokeThickness); Assert.AreEqual(LineStyle.Solid, series.LineStyle); CollectionAssert.IsEmpty(series.Lines); }
public void Render_NoContext_ThrowsArgumentNullException() { var series = new MultipleLineSeries(); // Call TestDelegate test = () => series.Render(null); // Assert string paramName = Assert.Throws <ArgumentNullException>(test).ParamName; Assert.AreEqual("rc", paramName); }
public void Render_MultipleNonEmptyLine_RendersTheLines(LineStyle?style, double[] dashes) { // Setup var random = new Random(21); int lineCount = random.Next(5, 455); var series = new MultipleLineSeries(); if (style.HasValue) { series.LineStyle = style.Value; } series.Dashes = dashes; var model = new PlotModel(); model.Series.Add(series); var mocks = new MockRepository(); var renderContext = mocks.StrictMock <IRenderContext>(); renderContext.Stub(rc => rc.SetClip(OxyRect.Create(0, 0, 0, 0))).Return(true); renderContext.Stub(rc => rc.ResetClip()); renderContext.Expect(rc => rc.DrawLine( Arg <ScreenPoint[]> .Matches(sp => sp.Length == 1), Arg <OxyColor> .Is.Equal(series.Color), Arg <double> .Is.Equal(series.StrokeThickness), Arg <double[]> .Is.Equal(dashes ?? style.Value.GetDashArray()), Arg <LineJoin> .Is.Anything, Arg <bool> .Is.Anything)).Repeat.Times(lineCount); mocks.ReplayAll(); for (var i = 0; i < lineCount; i++) { series.Lines.Add(new[] { new DataPoint(random.Next(-50, 50), random.Next(-50, 50)) }); } ((IPlotModel)model).Update(false); // Call series.Render(renderContext); // Assert mocks.VerifyAll(); }
public void Render_NoLines_NoCallForDrawLine() { // Setup var mocks = new MockRepository(); var renderContext = mocks.StrictMock <IRenderContext>(); mocks.ReplayAll(); var series = new MultipleLineSeries(); // Call series.Render(renderContext); // Assert mocks.VerifyAll(); }
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 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]); }