⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 categoryplottests.java

📁 jfreechart-1.0.12 开发包和文档等
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
    public void testSerialization4() {        DefaultCategoryDataset dataset = new DefaultCategoryDataset();        JFreeChart chart = ChartFactory.createBarChart(            "Test Chart",            "Category Axis",            "Value Axis",            dataset,            PlotOrientation.VERTICAL,            true,            true,            false        );        CategoryPlot plot = (CategoryPlot) chart.getPlot();        plot.addRangeMarker(new ValueMarker(1.1), Layer.FOREGROUND);        plot.addRangeMarker(new IntervalMarker(2.2, 3.3), Layer.BACKGROUND);        JFreeChart chart2 = null;        // serialize and deserialize the chart....        try {            ByteArrayOutputStream buffer = new ByteArrayOutputStream();            ObjectOutput out = new ObjectOutputStream(buffer);            out.writeObject(chart);            out.close();            ObjectInput in = new ObjectInputStream(                    new ByteArrayInputStream(buffer.toByteArray()));            chart2 = (JFreeChart) in.readObject();            in.close();        }        catch (Exception e) {            fail(e.toString());        }        assertEquals(chart, chart2);        // now check that the chart is usable...        boolean passed = true;        try {            chart2.createBufferedImage(300, 200);        }        catch (Exception e) {            passed = false;            e.printStackTrace();        }        assertTrue(passed);    }    /**     * Tests a bug where the plot is no longer registered as a listener     * with the dataset(s) and axes after deserialization.  See patch 1209475     * at SourceForge.     */    public void testSerialization5() {        DefaultCategoryDataset dataset1 = new DefaultCategoryDataset();        CategoryAxis domainAxis1 = new CategoryAxis("Domain 1");        NumberAxis rangeAxis1 = new NumberAxis("Range 1");        BarRenderer renderer1 = new BarRenderer();        CategoryPlot p1 = new CategoryPlot(dataset1, domainAxis1, rangeAxis1,                renderer1);        CategoryAxis domainAxis2 = new CategoryAxis("Domain 2");        NumberAxis rangeAxis2 = new NumberAxis("Range 2");        BarRenderer renderer2 = new BarRenderer();        DefaultCategoryDataset dataset2 = new DefaultCategoryDataset();        p1.setDataset(1, dataset2);        p1.setDomainAxis(1, domainAxis2);        p1.setRangeAxis(1, rangeAxis2);        p1.setRenderer(1, renderer2);        CategoryPlot p2 = null;        try {            ByteArrayOutputStream buffer = new ByteArrayOutputStream();            ObjectOutput out = new ObjectOutputStream(buffer);            out.writeObject(p1);            out.close();            ObjectInput in = new ObjectInputStream(                    new ByteArrayInputStream(buffer.toByteArray()));            p2 = (CategoryPlot) in.readObject();            in.close();        }        catch (Exception e) {            fail(e.toString());        }        assertEquals(p1, p2);        // now check that all datasets, renderers and axes are being listened        // too...        CategoryAxis domainAxisA = p2.getDomainAxis(0);        NumberAxis rangeAxisA = (NumberAxis) p2.getRangeAxis(0);        DefaultCategoryDataset datasetA                = (DefaultCategoryDataset) p2.getDataset(0);        BarRenderer rendererA = (BarRenderer) p2.getRenderer(0);        CategoryAxis domainAxisB = p2.getDomainAxis(1);        NumberAxis rangeAxisB = (NumberAxis) p2.getRangeAxis(1);        DefaultCategoryDataset datasetB                = (DefaultCategoryDataset) p2.getDataset(1);        BarRenderer rendererB  = (BarRenderer) p2.getRenderer(1);        assertTrue(datasetA.hasListener(p2));        assertTrue(domainAxisA.hasListener(p2));        assertTrue(rangeAxisA.hasListener(p2));        assertTrue(rendererA.hasListener(p2));        assertTrue(datasetB.hasListener(p2));        assertTrue(domainAxisB.hasListener(p2));        assertTrue(rangeAxisB.hasListener(p2));        assertTrue(rendererB.hasListener(p2));    }    /**     * A test for a bug where setting the renderer doesn't register the plot     * as a RendererChangeListener.     */    public void testSetRenderer() {        CategoryPlot plot = new CategoryPlot();        CategoryItemRenderer renderer = new LineAndShapeRenderer();        plot.setRenderer(renderer);        // now make a change to the renderer and see if it triggers a plot        // change event...        MyPlotChangeListener listener = new MyPlotChangeListener();        plot.addChangeListener(listener);        renderer.setSeriesPaint(0, Color.black);        assertTrue(listener.getEvent() != null);    }    /**     * A test for bug report 1169972.     */    public void test1169972() {        CategoryPlot plot = new CategoryPlot(null, null, null, null);        plot.setDomainAxis(new CategoryAxis("C"));        plot.setRangeAxis(new NumberAxis("Y"));        plot.setRenderer(new BarRenderer());        plot.setDataset(new DefaultCategoryDataset());        assertTrue(plot != null);    }    /**     * Some tests for the addDomainMarker() method(s).     */    public void testAddDomainMarker() {        CategoryPlot plot = new CategoryPlot();        CategoryMarker m = new CategoryMarker("C1");        plot.addDomainMarker(m);        List listeners = Arrays.asList(m.getListeners(                MarkerChangeListener.class));        assertTrue(listeners.contains(plot));        plot.clearDomainMarkers();        listeners = Arrays.asList(m.getListeners(MarkerChangeListener.class));        assertFalse(listeners.contains(plot));    }    /**     * Some tests for the addRangeMarker() method(s).     */    public void testAddRangeMarker() {        CategoryPlot plot = new CategoryPlot();        Marker m = new ValueMarker(1.0);        plot.addRangeMarker(m);        List listeners = Arrays.asList(m.getListeners(                MarkerChangeListener.class));        assertTrue(listeners.contains(plot));        plot.clearRangeMarkers();        listeners = Arrays.asList(m.getListeners(MarkerChangeListener.class));        assertFalse(listeners.contains(plot));    }    /**     * A test for bug 1654215 (where a renderer is added to the plot without     * a corresponding dataset and it throws an exception at drawing time).     */    public void test1654215() {        DefaultCategoryDataset dataset = new DefaultCategoryDataset();        JFreeChart chart = ChartFactory.createLineChart("Title", "X", "Y",                dataset, PlotOrientation.VERTICAL, true, false, false);        CategoryPlot plot = (CategoryPlot) chart.getPlot();        plot.setRenderer(1, new LineAndShapeRenderer());        boolean success = false;        try {            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();            success = true;        }        catch (Exception e) {            e.printStackTrace();            success = false;        }        assertTrue(success);    }    /**     * Some checks for the getDomainAxisIndex() method.     */    public void testGetDomainAxisIndex() {        CategoryAxis domainAxis1 = new CategoryAxis("X1");        CategoryAxis domainAxis2 = new CategoryAxis("X2");        NumberAxis rangeAxis1 = new NumberAxis("Y1");        CategoryPlot plot = new CategoryPlot(null, domainAxis1, rangeAxis1,                null);        assertEquals(0, plot.getDomainAxisIndex(domainAxis1));        assertEquals(-1, plot.getDomainAxisIndex(domainAxis2));        plot.setDomainAxis(1, domainAxis2);        assertEquals(1, plot.getDomainAxisIndex(domainAxis2));        assertEquals(-1, plot.getDomainAxisIndex(new CategoryAxis("X2")));        boolean pass = false;        try {            plot.getDomainAxisIndex(null);        }        catch (IllegalArgumentException e) {            pass = true;        }        assertTrue(pass);    }    /**     * Some checks for the getRangeAxisIndex() method.     */    public void testGetRangeAxisIndex() {        CategoryAxis domainAxis1 = new CategoryAxis("X1");        NumberAxis rangeAxis1 = new NumberAxis("Y1");        NumberAxis rangeAxis2 = new NumberAxis("Y2");        CategoryPlot plot = new CategoryPlot(null, domainAxis1, rangeAxis1,                null);        assertEquals(0, plot.getRangeAxisIndex(rangeAxis1));        assertEquals(-1, plot.getRangeAxisIndex(rangeAxis2));        plot.setRangeAxis(1, rangeAxis2);        assertEquals(1, plot.getRangeAxisIndex(rangeAxis2));        assertEquals(-1, plot.getRangeAxisIndex(new NumberAxis("Y2")));        boolean pass = false;        try {            plot.getRangeAxisIndex(null);        }        catch (IllegalArgumentException e) {            pass = true;        }        assertTrue(pass);    }    /**     * Check that removing a marker that isn't assigned to the plot returns     * false.     */    public void testRemoveDomainMarker() {        CategoryPlot plot = new CategoryPlot();        assertFalse(plot.removeDomainMarker(new CategoryMarker("Category 1")));    }    /**     * Check that removing a marker that isn't assigned to the plot returns     * false.     */    public void testRemoveRangeMarker() {        CategoryPlot plot = new CategoryPlot();        assertFalse(plot.removeRangeMarker(new ValueMarker(0.5)));    }    /**     * Some tests for the getDomainAxisForDataset() method.     */    public void testGetDomainAxisForDataset() {        CategoryDataset dataset = new DefaultCategoryDataset();        CategoryAxis xAxis = new CategoryAxis("X");        NumberAxis yAxis = new NumberAxis("Y");        CategoryItemRenderer renderer = new BarRenderer();        CategoryPlot plot = new CategoryPlot(dataset, xAxis, yAxis, renderer);        assertEquals(xAxis, plot.getDomainAxisForDataset(0));        // should get IllegalArgumentException for negative index        boolean pass = false;        try {            plot.getDomainAxisForDataset(-1);        }        catch (IllegalArgumentException e) {            pass = true;        }        assertTrue(pass);        // if multiple axes are mapped, the first in the list should be        // returned...        CategoryAxis xAxis2 = new CategoryAxis("X2");        plot.setDomainAxis(1, xAxis2);        assertEquals(xAxis, plot.getDomainAxisForDataset(0));        plot.mapDatasetToDomainAxis(0, 1);        assertEquals(xAxis2, plot.getDomainAxisForDataset(0));        List axisIndices = Arrays.asList(new Integer[] {new Integer(0),                new Integer(1)});        plot.mapDatasetToDomainAxes(0, axisIndices);        assertEquals(xAxis, plot.getDomainAxisForDataset(0));        axisIndices = Arrays.asList(new Integer[] {new Integer(1),                new Integer(2)});        plot.mapDatasetToDomainAxes(0, axisIndices);        assertEquals(xAxis2, plot.getDomainAxisForDataset(0));    }    /**     * Some tests for the getRangeAxisForDataset() method.     */    public void testGetRangeAxisForDataset() {        CategoryDataset dataset = new DefaultCategoryDataset();        CategoryAxis xAxis = new CategoryAxis("X");        NumberAxis yAxis = new NumberAxis("Y");        CategoryItemRenderer renderer = new DefaultCategoryItemRenderer();        CategoryPlot plot = new CategoryPlot(dataset, xAxis, yAxis, renderer);        assertEquals(yAxis, plot.getRangeAxisForDataset(0));        // should get IllegalArgumentException for negative index        boolean pass = false;        try {            plot.getRangeAxisForDataset(-1);        }        catch (IllegalArgumentException e) {            pass = true;        }        assertTrue(pass);        // if multiple axes are mapped, the first in the list should be        // returned...        NumberAxis yAxis2 = new NumberAxis("Y2");        plot.setRangeAxis(1, yAxis2);        assertEquals(yAxis, plot.getRangeAxisForDataset(0));        plot.mapDatasetToRangeAxis(0, 1);        assertEquals(yAxis2, plot.getRangeAxisForDataset(0));        List axisIndices = Arrays.asList(new Integer[] {new Integer(0),                new Integer(1)});        plot.mapDatasetToRangeAxes(0, axisIndices);        assertEquals(yAxis, plot.getRangeAxisForDataset(0));        axisIndices = Arrays.asList(new Integer[] {new Integer(1),                new Integer(2)});        plot.mapDatasetToRangeAxes(0, axisIndices);        assertEquals(yAxis2, plot.getRangeAxisForDataset(0));    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -