www.pudn.com > jfreechart-0.9.12.zip > ValueAxisTests.java


/* ====================================== 
 * JFreeChart : a free Java chart library 
 * ====================================== 
 * 
 * Project Info:  http://www.jfree.org/jfreechart/index.html 
 * Project Lead:  David Gilbert (david.gilbert@object-refinery.com); 
 * 
 * (C) Copyright 2000-2003, by Object Refinery Limited and Contributors. 
 * 
 * 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. 
 * 
 * ------------------- 
 * ValueAxisTests.java 
 * ------------------- 
 * (C) Copyright 2003 by Object Refinery Limited and Contributors. 
 * 
 * Original Author:  David Gilbert (for Object Refinery Limited); 
 * Contributor(s):   -; 
 * 
 * $Id: ValueAxisTests.java,v 1.1 2003/08/15 11:21:12 mungady Exp $ 
 * 
 * Changes 
 * ------- 
 * 13-Aug-2003 : Version 1 (DG); 
 * 
 */ 
 
package org.jfree.chart.axis.junit; 
 
import java.awt.BasicStroke; 
import java.awt.Color; 
import java.awt.Stroke; 
 
import junit.framework.Test; 
import junit.framework.TestCase; 
import junit.framework.TestSuite; 
 
import org.jfree.chart.axis.NumberAxis; 
import org.jfree.data.Range; 
 
/** 
 * Tests for the {@link ValueAxis} class. 
 * 
 * @author David Gilbert 
 */ 
public class ValueAxisTests extends TestCase { 
 
    /** 
     * Returns the tests as a test suite. 
     * 
     * @return the test suite. 
     */ 
    public static Test suite() { 
        return new TestSuite(ValueAxisTests.class); 
    } 
 
    /** 
     * Constructs a new set of tests. 
     * 
     * @param  name the name of the tests. 
     */ 
    public ValueAxisTests(String name) { 
        super(name); 
    } 
 
    /** 
     * Confirm that cloning works. 
     */ 
    public void testCloning() { 
        NumberAxis a1 = new NumberAxis("Test"); 
        NumberAxis a2 = null; 
        try { 
            a2 = (NumberAxis) a1.clone(); 
        } 
        catch (CloneNotSupportedException e) { 
            System.err.println("ValueAxisTests.testCloning: failed to clone."); 
        } 
        assertTrue(a1 != a2); 
        assertTrue(a1.getClass() == a2.getClass()); 
        assertTrue(a1.equals(a2)); 
    } 
 
    /** 
     * Confirm that the equals method can distinguish all the required fields. 
     */ 
    public void testEquals() { 
         
        NumberAxis a1 = new NumberAxis("Test"); 
        NumberAxis a2 = new NumberAxis("Test"); 
        boolean b = a1.equals(a2); 
        assertTrue(a1.equals(a2)); 
         
        // axis line visible flag... 
        a1.setAxisLineVisible(false); 
        assertFalse(a1.equals(a2)); 
        a2.setAxisLineVisible(false); 
        assertTrue(a1.equals(a2)); 
     
        // positiveArrowVisible; 
        a1.setPositiveArrowVisible(true); 
        assertFalse(a1.equals(a2)); 
        a2.setPositiveArrowVisible(true); 
        assertTrue(a1.equals(a2)); 
     
        // negativeArrowVisible; 
        a1.setNegativeArrowVisible(true); 
        assertFalse(a1.equals(a2)); 
        a2.setNegativeArrowVisible(true); 
        assertTrue(a1.equals(a2)); 
     
        //private Shape upArrow; 
     
        //private Shape downArrow; 
     
        //private Shape leftArrow; 
     
        //private Shape rightArrow; 
     
        // axisLinePaint 
        a1.setAxisLinePaint(Color.blue); 
        assertFalse(a1.equals(a2)); 
        a2.setAxisLinePaint(Color.blue); 
        assertTrue(a1.equals(a2)); 
         
        // axisLineStroke  
        Stroke stroke = new BasicStroke(2.0f); 
        a1.setAxisLineStroke(stroke); 
        assertFalse(a1.equals(a2)); 
        a2.setAxisLineStroke(stroke); 
        assertTrue(a1.equals(a2)); 
     
        // inverted 
        a1.setInverted(true); 
        assertFalse(a1.equals(a2)); 
        a2.setInverted(true); 
        assertTrue(a1.equals(a2)); 
         
        // range  
        a1.setRange(new Range(50.0, 75.0)); 
        assertFalse(a1.equals(a2)); 
        a2.setRange(new Range(50.0, 75.0)); 
        assertTrue(a1.equals(a2)); 
 
        // autoRange  
        a1.setAutoRange(true); 
        assertFalse(a1.equals(a2)); 
        a2.setAutoRange(true); 
        assertTrue(a1.equals(a2)); 
 
        // autoRangeMinimumSize 
        a1.setAutoRangeMinimumSize(3.33); 
        assertFalse(a1.equals(a2)); 
        a2.setAutoRangeMinimumSize(3.33); 
        assertTrue(a1.equals(a2)); 
 
        // upperMargin 
        a1.setUpperMargin(0.09); 
        assertFalse(a1.equals(a2)); 
        a2.setUpperMargin(0.09); 
        assertTrue(a1.equals(a2)); 
 
        // lowerMargin 
        a1.setLowerMargin(0.09); 
        assertFalse(a1.equals(a2)); 
        a2.setLowerMargin(0.09); 
        assertTrue(a1.equals(a2)); 
 
        //private double fixedAutoRange; 
        a1.setFixedAutoRange(50.0); 
        assertFalse(a1.equals(a2)); 
        a2.setFixedAutoRange(50.0); 
        assertTrue(a1.equals(a2)); 
 
        //private boolean autoTickUnitSelection; 
        a1.setAutoTickUnitSelection(false); 
        assertFalse(a1.equals(a2)); 
        a2.setAutoTickUnitSelection(false); 
        assertTrue(a1.equals(a2)); 
 
        //private TickUnits standardTickUnits; 
        a1.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); 
        assertFalse(a1.equals(a2)); 
        a2.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); 
        assertTrue(a1.equals(a2)); 
 
        // verticalTickLabels 
        a1.setVerticalTickLabels(true); 
        assertFalse(a1.equals(a2)); 
        a2.setVerticalTickLabels(true); 
        assertTrue(a1.equals(a2)); 
 
 
        //private int autoTickIndex; 
        //protected double reservedForTickLabels;   
        //protected double reservedForAxisLabel; 
     
    } 
 
}