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

📄 categoryplottests.java

📁 用于制作报表的中间件控件,纯java编写,还附带有数据库操作的源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        plot1.setFixedDomainAxisSpace(new AxisSpace());        assertFalse(plot1.equals(plot2));        plot2.setFixedDomainAxisSpace(new AxisSpace());        assertTrue(plot1.equals(plot2));                // fixed range axis space...        plot1.setFixedRangeAxisSpace(new AxisSpace());        assertFalse(plot1.equals(plot2));        plot2.setFixedRangeAxisSpace(new AxisSpace());        assertTrue(plot1.equals(plot2));    }    /**     * Confirm that cloning works.     */    public void testCloning() {        CategoryPlot p1 = new CategoryPlot();        p1.setRangeCrosshairPaint(new GradientPaint(1.0f, 2.0f, Color.white,                 3.0f, 4.0f, Color.yellow));        CategoryPlot p2 = null;        try {            p2 = (CategoryPlot) p1.clone();        }        catch (CloneNotSupportedException e) {            e.printStackTrace();            System.err.println("Failed to clone.");        }        assertTrue(p1 != p2);        assertTrue(p1.getClass() == p2.getClass());        assertTrue(p1.equals(p2));    }    /**     * Serialize an instance, restore it, and check for equality.     */    public void testSerialization() {        DefaultCategoryDataset dataset = new DefaultCategoryDataset();        CategoryAxis domainAxis = new CategoryAxis("Domain");        NumberAxis rangeAxis = new NumberAxis("Range");        BarRenderer renderer = new BarRenderer();        CategoryPlot p1 = new CategoryPlot(dataset, domainAxis, rangeAxis,                 renderer);        p1.setOrientation(PlotOrientation.HORIZONTAL);        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) {            e.printStackTrace();        }        assertTrue(p1.equals(p2));    }    /**     * Serialize an instance, restore it, and check for equality.     */    public void testSerialization2() {        DefaultCategoryDataset data = new DefaultCategoryDataset();        CategoryAxis domainAxis = new CategoryAxis("Domain");        NumberAxis rangeAxis = new NumberAxis("Range");        BarRenderer renderer = new BarRenderer();        CategoryPlot p1 = new CategoryPlot(data, domainAxis, rangeAxis,                 renderer);        p1.setOrientation(PlotOrientation.VERTICAL);        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);    }    /**     * Serialize an instance, restore it, and check for equality.     */    public void testSerialization3() {        DefaultCategoryDataset dataset = new DefaultCategoryDataset();        JFreeChart chart = ChartFactory.createBarChart(            "Test Chart",            "Category Axis",            "Value Axis",            dataset,            PlotOrientation.VERTICAL,            true,            true,            false        );        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());        }        // now check that the chart is usable...        boolean passed = true;        try {            chart2.createBufferedImage(300, 200);        }        catch (Exception e) {            passed = false;              e.printStackTrace();                    }        assertTrue(passed);    }        /**     * This test ensures that a plot with markers is serialized correctly.     */    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);    }}

⌨️ 快捷键说明

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