123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- /* ===========================================================
- * JFreeChart : a free chart library for the Java(tm) platform
- * ===========================================================
- *
- * (C) Copyright 2000-2013, by Object Refinery Limited and Contributors.
- *
- * Project Info: http://www.jfree.org/jfreechart/index.html
- *
- * This library is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- * License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
- *
- * [Oracle and Java are registered trademarks of Oracle and/or its affiliates.
- * Other names may be trademarks of their respective owners.]
- *
- * -------------------
- * PieChart3DTest.java
- * -------------------
- * (C) Copyright 2004-2013, by Object Refinery Limited.
- *
- * Original Author: David Gilbert (for Object Refinery Limited);
- * Contributor(s): -;
- *
- * Changes:
- * --------
- * 21-May-2004 : Version 1 (DG);
- *
- */
- package org.jfree.chart;
- import java.awt.Graphics2D;
- import java.awt.geom.Rectangle2D;
- import java.awt.image.BufferedImage;
- import org.jfree.chart.event.ChartChangeEvent;
- import org.jfree.chart.event.ChartChangeListener;
- import org.jfree.chart.plot.PiePlot;
- import org.jfree.data.general.DefaultPieDataset;
- import org.jfree.data.general.PieDataset;
- import org.junit.Before;
- import org.junit.Test;
- import static org.junit.Assert.assertNull;
- import static org.junit.Assert.assertEquals;
- /**
- * Tests for a pie chart with a 3D effect.
- */
- public class PieChart3DTest {
- /** A chart. */
- private JFreeChart pieChart;
- /**
- * Common test setup.
- */
- @Before
- public void setUp() {
- // create a dataset...
- DefaultPieDataset dataset = new DefaultPieDataset();
- dataset.setValue("Java", new Double(43.2));
- dataset.setValue("Visual Basic", new Double(0.0));
- dataset.setValue("C/C++", new Double(17.5));
- this.pieChart = createPieChart3D(dataset);
- }
- /**
- * Using a regular pie chart, we replace the dataset with null. Expect to
- * receive notification of a chart change event, and (of course) the
- * dataset should be null.
- */
- @Test
- public void testReplaceDatasetOnPieChart() {
- LocalListener l = new LocalListener();
- this.pieChart.addChangeListener(l);
- PiePlot plot = (PiePlot) this.pieChart.getPlot();
- plot.setDataset(null);
- assertEquals(true, l.flag);
- assertNull(plot.getDataset());
- }
- /**
- * Tests that no exceptions are thrown when there is a <code>null</code>
- * value in the dataset.
- */
- @Test
- public void testNullValueInDataset() {
- DefaultPieDataset dataset = new DefaultPieDataset();
- dataset.setValue("Section 1", 10.0);
- dataset.setValue("Section 2", 11.0);
- dataset.setValue("Section 3", null);
- JFreeChart chart = createPieChart3D(dataset);
- BufferedImage image = new BufferedImage(200 , 100,
- BufferedImage.TYPE_INT_RGB);
- Graphics2D g2 = image.createGraphics();
- chart.draw(g2, new Rectangle2D.Double(0, 0, 200, 100), null, null);
- g2.dispose();
- //FIXME we should really assert a value here
- }
- /**
- * Creates a pie chart.
- *
- * @param dataset the dataset.
- *
- * @return The pie chart.
- */
- private static JFreeChart createPieChart3D(PieDataset dataset) {
- return ChartFactory.createPieChart3D("Pie Chart", dataset);
- }
- /**
- * A chart change listener.
- */
- static class LocalListener implements ChartChangeListener {
- /** A flag. */
- private boolean flag;
- /**
- * Event handler.
- *
- * @param event the event.
- */
- @Override
- public void chartChanged(ChartChangeEvent event) {
- this.flag = true;
- }
- }
- }
|