public void TestGraphElementSizing() { PlotModel graphModel = new PlotModel(); graphModel.Series.Add(new OxyPlot.Series.LineSeries()); graphModel.Axes.Add(new OxyPlot.Axes.LinearAxis()); Mock <IGraphExporter> mockExporter = new Mock <IGraphExporter>(); mockExporter.Setup <IPlotModel>(e => e.ToPlotModel(graph)).Returns(() => graphModel); mockExporter.Setup(e => e.Export(It.IsAny <IPlotModel>(), It.IsAny <double>(), It.IsAny <double>())).Returns((IPlotModel plot, double width, double height) => { PlotModel model = plot as PlotModel; Assert.AreEqual(2, ((OxyPlot.Series.LineSeries)model.Series[0]).MarkerSize); Assert.AreEqual(10, model.DefaultFontSize); Assert.AreEqual(10, model.Axes[0].FontSize); Assert.AreEqual(10, model.TitleFontSize); return(image); }); IGraphExporter exporter = mockExporter.Object; renderer = new GraphPageTagRenderer(exporter); GraphPage page = new GraphPage(new[] { graph }); renderer.Render(page, pdfBuilder); }
public void EnsureNoLegend() { PlotModel graphModel = new PlotModel(); graphModel.Series.Add(new OxyPlot.Series.LineSeries()); graphModel.Axes.Add(new OxyPlot.Axes.LinearAxis()); graphModel.Legends.Add(new OxyPlot.Legends.Legend()); Mock <IGraphExporter> mockExporter = new Mock <IGraphExporter>(); mockExporter.Setup <IPlotModel>(e => e.ToPlotModel(graph)).Returns(() => graphModel); mockExporter.Setup(e => e.Export(It.IsAny <IPlotModel>(), It.IsAny <double>(), It.IsAny <double>())).Returns((IPlotModel plot, double width, double height) => { PlotModel model = plot as PlotModel; Assert.AreEqual(0, model.Legends.Count); return(image); }); IGraphExporter exporter = mockExporter.Object; renderer = new GraphPageTagRenderer(exporter); GraphPage page = new GraphPage(new[] { graph }); renderer.Render(page, pdfBuilder); // (Sanity check, just to make sure that the above plumbing actually worked.) Assert.AreEqual(1, TestContext.CurrentContext.AssertCount); }
public void TestGraphSizing() { Mock <IGraphExporter> mockExporter = new Mock <IGraphExporter>(); mockExporter.Setup(e => e.Export(It.IsAny <IPlotModel>(), It.IsAny <double>(), It.IsAny <double>())).Returns((IPlotModel plot, double width, double height) => { // This should be 1/2 page width and 1/3 page height in px. // fixme: this isn't really the best way to verify this but it'll do for now. Assert.AreEqual(302.362204724, width, 1e-2); Assert.AreEqual(317.4803405921916, height, 1e-2); return(image); }); IGraphExporter exporter = mockExporter.Object; renderer = new GraphPageTagRenderer(exporter); GraphPage page = new GraphPage(new[] { graph }); renderer.Render(page, pdfBuilder); }
public void Setup() { Mock <Axis> mockAxis = new Mock <Axis>("", AxisPosition.Bottom); xAxis = mockAxis.Object; yAxis = mockAxis.Object; Mock <ILegendConfiguration> mockLegend = new Mock <ILegendConfiguration>(); mockLegend.Setup(l => l.InsideGraphArea).Returns(() => legendInsideGraphArea); mockLegend.Setup(l => l.Orientation).Returns(() => legendOrientation); mockLegend.Setup(l => l.Position).Returns(() => legendPos); legend = mockLegend.Object; Mock <IGraph> mockGraph = new Mock <IGraph>(); mockGraph.Setup(g => g.Series).Returns(series); mockGraph.Setup(g => g.XAxis).Returns(() => xAxis); mockGraph.Setup(g => g.YAxis).Returns(() => yAxis); mockGraph.Setup(g => g.Legend).Returns(legend); graph = mockGraph.Object; exporter = new GraphExporter(); }
/// <summary> /// Create a GraphTagRenderer with a custom image exporter. /// </summary> /// <param name="exporter">Graph exporter to be used.</param> public GraphPageTagRenderer(IGraphExporter exporter) { this.exporter = exporter; }