public void DefaultConstructor_RetunsDefaultValues() { // Call var series = new MultipleAreaSeries(); // Assert Assert.AreEqual(OxyColors.Fuchsia, series.Fill); Assert.AreEqual(OxyColors.Fuchsia, series.Color); Assert.AreEqual(0, series.StrokeThickness); CollectionAssert.IsEmpty(series.Areas); }
public void Render_NoContext_ThrowsArgumentNullException() { // Setup var series = new MultipleAreaSeries(); // Call TestDelegate test = () => series.Render(null); // Assert string paramName = Assert.Throws <ArgumentNullException>(test).ParamName; Assert.AreEqual("rc", paramName); }
public void Render_NoAreas_NoCallForDrawPolygon() { // Setup var mocks = new MockRepository(); var renderContext = mocks.StrictMock <IRenderContext>(); mocks.ReplayAll(); var series = new MultipleAreaSeries(); // Call series.Render(renderContext); // Assert mocks.VerifyAll(); }
public void ConvertSeriesProperties_ChartAreaStyleSetWithDifferentStrokeWidths_AppliesStyleToSeries(int width) { // Setup var converter = new ChartMultipleAreaDataConverter(); var multipleAreaSeries = new MultipleAreaSeries(); var data = new ChartMultipleAreaData("test", new ChartAreaStyle { FillColor = Color.Red, StrokeColor = Color.Red, StrokeThickness = width }); // Call converter.ConvertSeriesProperties(data, multipleAreaSeries); // Assert Assert.AreEqual(width, multipleAreaSeries.StrokeThickness); }
public void ConvertSeriesProperties_ChartAreaStyleSetWithDifferentFillColors_AppliesStyleToSeries(KnownColor color) { // Setup var converter = new ChartMultipleAreaDataConverter(); var multipleAreaSeries = new MultipleAreaSeries(); Color expectedColor = Color.FromKnownColor(color); var data = new ChartMultipleAreaData("test", new ChartAreaStyle { FillColor = expectedColor, StrokeColor = Color.Red, StrokeThickness = 3 }); // Call converter.ConvertSeriesProperties(data, multipleAreaSeries); // Assert AssertColors(expectedColor, multipleAreaSeries.Fill); }
public void Render_MultipleNonEmptyArea_RendersTheAreas() { // Setup var random = new Random(21); int areaCount = random.Next(5, 455); var series = new MultipleAreaSeries(); 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.DrawPolygon( Arg <ScreenPoint[]> .Matches(sp => sp.Length == 1), Arg <OxyColor> .Is.Equal(series.Fill), Arg <OxyColor> .Is.Equal(series.Color), Arg <double> .Is.Equal(series.StrokeThickness), Arg <double[]> .Is.Anything, Arg <LineJoin> .Is.Anything, Arg <bool> .Is.Anything)).Repeat.Times(areaCount); mocks.ReplayAll(); for (var i = 0; i < areaCount; i++) { series.Areas.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 GivenMultipleAreaSeriesAddedToView_WhenViewOpenedAndUpdated_ThenXYAxisIncludesSeriesValues() { // Given const int maxY = 100; const int minY = -25; const int maxX = 50; const int minX = -10; var series = new MultipleAreaSeries { Areas = { new[] { new DataPoint(minX, maxY) }, new[] { new DataPoint(maxX, minY) } } }; using (var form = new Form()) using (var view = new LinearPlotView()) { form.Controls.Add(view); view.Model.Series.Add(series); // When form.Show(); view.Update(); } // Then Assert.AreEqual(maxX, series.XAxis.DataMaximum); Assert.AreEqual(minX, series.XAxis.DataMinimum); Assert.AreEqual(maxY, series.YAxis.DataMaximum); Assert.AreEqual(minY, series.YAxis.DataMinimum); }
public void GivenEmptyMultipleAreaSeriesAddedToView_WhenViewOpenedAndUpdated_ThenXYAxisNotChanged() { // Given var series = new MultipleAreaSeries(); using (var form = new Form()) using (var view = new LinearPlotView()) { form.Controls.Add(view); view.Model.Series.Add(series); // When form.Show(); view.Update(); } // Then Assert.AreEqual(double.NaN, series.XAxis.DataMaximum); Assert.AreEqual(double.NaN, series.XAxis.DataMinimum); Assert.AreEqual(double.NaN, series.YAxis.DataMaximum); Assert.AreEqual(double.NaN, series.YAxis.DataMinimum); }
public void ConvertSeriesItems_ChartMultipleAreaDataWithRandomAreaData_ConvertsAllAreasToMultipleAreaSeries() { // Setup var converter = new ChartMultipleAreaDataConverter(); var multipleAreaSeries = new MultipleAreaSeries(); 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 areas = new List <Point2D[]> { points1.ToArray(), points2.ToArray() }; var areaData = new ChartMultipleAreaData("test data") { Areas = areas }; // Call converter.ConvertSeriesData(areaData, multipleAreaSeries); // Assert Assert.AreEqual(2, multipleAreaSeries.Areas.Count); CollectionAssert.AreEqual(areas.ElementAt(0).Select(t => new DataPoint(t.X, t.Y)), multipleAreaSeries.Areas[0]); CollectionAssert.AreEqual(areas.ElementAt(1).Select(t => new DataPoint(t.X, t.Y)), multipleAreaSeries.Areas[1]); }