📄 datasetutilitiestests.java
字号:
/* ===========================================================
* JFreeChart : a free chart library for the Java(tm) platform
* ===========================================================
*
* (C) Copyright 2000-2004, 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., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307, USA.
*
* [Java is a trademark or registered trademark of Sun Microsystems, Inc.
* in the United States and other countries.]
*
* --------------------------
* DatasetUtilitiesTests.java
* --------------------------
* (C) Copyright 2003, 2004, by Object Refinery Limited and Contributors.
*
* Original Author: David Gilbert (for Object Refinery Limited);
* Contributor(s): -;
*
* $Id: DatasetUtilitiesTests.java,v 1.2 2004/09/10 13:46:42 mungady Exp $
*
* Changes
* -------
* 18-Sep-2003 : Version 1 (DG);
* 23-Mar-2004 : Added test for maximumStackedRangeValue() method (DG);
*
*/
package org.jfree.data.general.junit;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import org.jfree.data.KeyToGroupMap;
import org.jfree.data.Range;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DatasetUtilities;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.xy.DefaultTableXYDataset;
import org.jfree.data.xy.TableXYDataset;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import org.jfree.util.NumberUtils;
/**
* Tests for the {@link DatasetUtilities} class.
*/
public class DatasetUtilitiesTests extends TestCase {
private static final double DELTA = 0.0000001;
/**
* Returns the tests as a test suite.
*
* @return The test suite.
*/
public static Test suite() {
return new TestSuite(DatasetUtilitiesTests.class);
}
/**
* Constructs a new set of tests.
*
* @param name the name of the tests.
*/
public DatasetUtilitiesTests(final String name) {
super(name);
}
/**
* Some tests to verify that Java does what I think it does!
*/
public void testJava() {
assertTrue(Double.isNaN(Math.min(1.0, Double.NaN)));
assertTrue(Double.isNaN(Math.max(1.0, Double.NaN)));
}
/**
* Tests the createNumberArray2D() method.
*/
public void testCreateNumberArray2D() {
double[][] d = new double[2][];
d[0] = new double[] {1.1, 2.2, 3.3, 4.4};
d[1] = new double[] {1.1, 2.2, 3.3, 4.4, 5.5};
Number[][] n = DatasetUtilities.createNumberArray2D(d);
assertEquals(2, n.length);
assertEquals(4, n[0].length);
assertEquals(5, n[1].length);
}
/**
* Some tests for the calculatePieDatasetTotal() method.
*/
public void testCalculatePieDatasetTotal() {
DefaultPieDataset d = new DefaultPieDataset();
assertEquals(0.0, DatasetUtilities.calculatePieDatasetTotal(d), DELTA);
d.setValue("A", 1.0);
assertEquals(1.0, DatasetUtilities.calculatePieDatasetTotal(d), DELTA);
d.setValue("B", 3.0);
assertEquals(4.0, DatasetUtilities.calculatePieDatasetTotal(d), DELTA);
}
/**
* Some tests for the findDomainExtent() method.
*/
public void testFindDomainExtent() {
XYDataset dataset = createXYDataset1();
Range r = DatasetUtilities.findDomainExtent(dataset);
assertEquals(1.0, r.getLowerBound(), DELTA);
assertEquals(3.0, r.getUpperBound(), DELTA);
}
/**
* Some tests for the iterateDomainExtent() method.
*/
public void testIterateDomainExtent() {
XYDataset dataset = createXYDataset1();
Range r = DatasetUtilities.iterateDomainExtent(dataset);
assertEquals(1.0, r.getLowerBound(), DELTA);
assertEquals(3.0, r.getUpperBound(), DELTA);
}
/**
* Some tests for the findRangeExtent() method.
*/
public void testFindRangeExtent1() {
CategoryDataset dataset = createCategoryDataset1();
Range r = DatasetUtilities.findRangeExtent(dataset);
assertEquals(1.0, r.getLowerBound(), DELTA);
assertEquals(6.0, r.getUpperBound(), DELTA);
}
/**
* Some tests for the findRangeExtent() method.
*/
public void testFindRangeExtent2() {
XYDataset dataset = createXYDataset1();
Range r = DatasetUtilities.findRangeExtent(dataset);
assertEquals(100.0, r.getLowerBound(), DELTA);
assertEquals(105.0, r.getUpperBound(), DELTA);
}
/**
* Some tests for the iterateCategoryRangeExtent() method.
*/
public void testIterateCategoryRangeExtent() {
CategoryDataset dataset = createCategoryDataset1();
Range r = DatasetUtilities.iterateCategoryRangeExtent(dataset);
assertEquals(1.0, r.getLowerBound(), DELTA);
assertEquals(6.0, r.getUpperBound(), DELTA);
}
/**
* Some tests for the iterateXYRangeExtent() method.
*/
public void testIterateXYRangeExtent() {
XYDataset dataset = createXYDataset1();
Range r = DatasetUtilities.iterateXYRangeExtent(dataset);
assertEquals(100.0, r.getLowerBound(), DELTA);
assertEquals(105.0, r.getUpperBound(), DELTA);
}
/**
* Some tests for the findMinimumDomainValue() method.
*/
public void testFindMinimumDomainValue() {
XYDataset dataset = createXYDataset1();
Number minimum = DatasetUtilities.findMinimumDomainValue(dataset);
assertEquals(new Double(1.0), minimum);
}
/**
* Some tests for the findMaximumDomainValue() method.
*/
public void testFindMaximumDomainValue() {
XYDataset dataset = createXYDataset1();
Number maximum = DatasetUtilities.findMaximumDomainValue(dataset);
assertEquals(new Double(3.0), maximum);
}
/**
* Some tests for the findMinimumRangeValue() method.
*/
public void testFindMinimumRangeValue() {
CategoryDataset d1 = createCategoryDataset1();
Number min1 = DatasetUtilities.findMinimumRangeValue(d1);
assertEquals(new Double(1.0), min1);
XYDataset d2 = createXYDataset1();
Number min2 = DatasetUtilities.findMinimumRangeValue(d2);
assertEquals(new Double(100.0), min2);
}
/**
* Some tests for the findMaximumRangeValue() method.
*/
public void testFindMaximumRangeValue() {
CategoryDataset d1 = createCategoryDataset1();
Number max1 = DatasetUtilities.findMaximumRangeValue(d1);
assertEquals(new Double(6.0), max1);
XYDataset dataset = createXYDataset1();
Number maximum = DatasetUtilities.findMaximumRangeValue(dataset);
assertEquals(new Double(105.0), maximum);
}
/**
* A quick test of the min and max range value methods.
*/
public void testMinMaxRange() {
final DefaultCategoryDataset dataset = new DefaultCategoryDataset();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -