Package plotter.xy

Source Code of plotter.xy.JUnitLinearXYAxis

/*******************************************************************************
* Mission Control Technologies, Copyright (c) 2009-2012, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
* The MCT platform is licensed under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0.
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*
* MCT includes source code licensed under additional open source licenses. See
* the MCT Open Source Licenses file included with this distribution or the About
* MCT Licenses dialog available at runtime from the MCT Help menu for additional
* information.
*******************************************************************************/
package plotter.xy;

import java.awt.Color;
import java.awt.Component;
import java.awt.Font;
import java.beans.IntrospectionException;
import java.lang.reflect.InvocationTargetException;
import java.text.DecimalFormat;
import java.util.Arrays;

import javax.swing.JLabel;

import junit.framework.TestCase;
import plotter.DoubleDiffer;
import plotter.IntegerTickMarkCalculator;
import plotter.PropertyTester;


public class JUnitLinearXYAxis extends TestCase {
  public void testToLogicalX() {
    LinearXYAxis axis = new LinearXYAxis(XYDimension.X);
    axis.setSize(100, 10);
    axis.setStart(1);
    axis.setEnd(2);
    DoubleDiffer d = new DoubleDiffer(.0000001);
    d.assertClose(1, axis.toLogical(-1));
    d.assertClose(1.5, axis.toLogical(49));
    d.assertClose(2, axis.toLogical(99));

    axis.setSize(130, 10);
    axis.setStartMargin(10);
    axis.setEndMargin(20);
    d.assertClose(1, axis.toLogical(9));
    d.assertClose(1.5, axis.toLogical(59));
    d.assertClose(2, axis.toLogical(109));
  }


  public void testToLogicalXInverted() {
    LinearXYAxis axis = new LinearXYAxis(XYDimension.X);
    axis.setSize(100, 10);
    axis.setStart(2);
    axis.setEnd(1);
    DoubleDiffer d = new DoubleDiffer(.0000001);
    d.assertClose(2, axis.toLogical(-1));
    d.assertClose(1.5, axis.toLogical(49));
    d.assertClose(1, axis.toLogical(99));

    axis.setSize(130, 10);
    axis.setStartMargin(10);
    axis.setEndMargin(20);
    d.assertClose(2, axis.toLogical(9));
    d.assertClose(1.5, axis.toLogical(59));
    d.assertClose(1, axis.toLogical(109));
  }


  public void testToLogicalY() {
    DoubleDiffer d = new DoubleDiffer(.0000001);
    LinearXYAxis axis = new LinearXYAxis(XYDimension.Y);
    axis.setSize(10, 100);
    axis.setStart(1);
    axis.setEnd(2);
    d.assertClose(2, axis.toLogical(0));
    d.assertClose(1.5, axis.toLogical(50));
    d.assertClose(1, axis.toLogical(100));

    axis.setSize(10, 130);
    axis.setStartMargin(10);
    axis.setEndMargin(20);
    d.assertClose(2, axis.toLogical(20));
    d.assertClose(1.5, axis.toLogical(70));
    d.assertClose(1, axis.toLogical(120));
  }


  public void testToLogicalYInverted() {
    DoubleDiffer d = new DoubleDiffer(.0000001);
    LinearXYAxis axis = new LinearXYAxis(XYDimension.Y);
    axis.setSize(10, 100);
    axis.setStart(2);
    axis.setEnd(1);
    d.assertClose(1, axis.toLogical(0));
    d.assertClose(1.5, axis.toLogical(50));
    d.assertClose(2, axis.toLogical(100));

    axis.setSize(10, 130);
    axis.setStartMargin(10);
    axis.setEndMargin(20);
    d.assertClose(1, axis.toLogical(20));
    d.assertClose(1.5, axis.toLogical(70));
    d.assertClose(2, axis.toLogical(120));
  }


  public void testToPhysicalX() {
    LinearXYAxis axis = new LinearXYAxis(XYDimension.X);
    axis.setSize(100, 10);
    axis.setStart(1);
    axis.setEnd(2);
    assertEquals(-1, axis.toPhysical(1));
    assertEquals(49, axis.toPhysical(1.5));
    assertEquals(99, axis.toPhysical(2));

    axis.setSize(130, 10);
    axis.setStartMargin(10);
    axis.setEndMargin(20);
    assertEquals(9, axis.toPhysical(1));
    assertEquals(59, axis.toPhysical(1.5));
    assertEquals(109, axis.toPhysical(2));
  }


  public void testToPhysicalXInverted() {
    LinearXYAxis axis = new LinearXYAxis(XYDimension.X);
    axis.setSize(100, 10);
    axis.setStart(2);
    axis.setEnd(1);
    assertEquals(99, axis.toPhysical(1));
    assertEquals(49, axis.toPhysical(1.5));
    assertEquals(-1, axis.toPhysical(2));

    axis.setSize(130, 10);
    axis.setStartMargin(10);
    axis.setEndMargin(20);
    assertEquals(109, axis.toPhysical(1));
    assertEquals(59, axis.toPhysical(1.5));
    assertEquals(9, axis.toPhysical(2));
  }


  public void testToPhysicalY() {
    LinearXYAxis axis = new LinearXYAxis(XYDimension.Y);
    axis.setSize(10, 100);
    axis.setStart(1);
    axis.setEnd(2);
    assertEquals(100, axis.toPhysical(1));
    assertEquals(50, axis.toPhysical(1.5));
    assertEquals(0, axis.toPhysical(2));

    axis.setSize(10, 130);
    axis.setStartMargin(10);
    axis.setEndMargin(20);
    assertEquals(120, axis.toPhysical(1));
    assertEquals(70, axis.toPhysical(1.5));
    assertEquals(20, axis.toPhysical(2));
  }


  public void testToPhysicalYInverted() {
    LinearXYAxis axis = new LinearXYAxis(XYDimension.Y);
    axis.setSize(10, 100);
    axis.setStart(2);
    axis.setEnd(1);
    assertEquals(0, axis.toPhysical(1));
    assertEquals(50, axis.toPhysical(1.5));
    assertEquals(100, axis.toPhysical(2));

    axis.setSize(10, 130);
    axis.setStartMargin(10);
    axis.setEndMargin(20);
    assertEquals(20, axis.toPhysical(1));
    assertEquals(70, axis.toPhysical(1.5));
    assertEquals(120, axis.toPhysical(2));
  }


  public void testTickMarksX() {
    LinearXYAxis axis = new LinearXYAxis(XYDimension.X);
    axis.setSize(100, 10);
    axis.setStart(1);
    axis.setEnd(2);
    axis.doLayout();

    int[] majorTicks = axis.getMajorTicks();
    assertEquals(Arrays.toString(majorTicks), 3, majorTicks.length);
    assertEquals(-1, majorTicks[0]);
    assertEquals(49, majorTicks[1]);
    assertEquals(99, majorTicks[2]);

    Component[] components = axis.getComponents();
    assertEquals(Arrays.toString(components), 3, components.length);
    assertEquals("1", ((JLabel) components[0]).getText());
    assertEquals("1.5", ((JLabel) components[1]).getText());
    assertEquals("2", ((JLabel) components[2]).getText());

    int[] minorTicks = axis.getMinorTicks();
    assertEquals(11, minorTicks.length);
    assertEquals(-1, minorTicks[0]);
    assertEquals(9, minorTicks[1]);
    assertEquals(19, minorTicks[2]);
    assertEquals(29, minorTicks[3]);
    assertEquals(39, minorTicks[4]);
    assertEquals(49, minorTicks[5]);
    assertEquals(59, minorTicks[6]);
    assertEquals(69, minorTicks[7]);
    assertEquals(79, minorTicks[8]);
    assertEquals(89, minorTicks[9]);
    assertEquals(99, minorTicks[10]);

    axis.setSize(130, 10);
    axis.setStartMargin(10);
    axis.setEndMargin(20);
    axis.doLayout();

    majorTicks = axis.getMajorTicks();
    assertEquals(Arrays.toString(majorTicks), 3, majorTicks.length);
    assertEquals(-1, majorTicks[0]);
    assertEquals(49, majorTicks[1]);
    assertEquals(99, majorTicks[2]);

    minorTicks = axis.getMinorTicks();
    assertEquals(11, minorTicks.length);
    assertEquals(-1, minorTicks[0]);
    assertEquals(9, minorTicks[1]);
    assertEquals(19, minorTicks[2]);
    assertEquals(29, minorTicks[3]);
    assertEquals(39, minorTicks[4]);
    assertEquals(49, minorTicks[5]);
    assertEquals(59, minorTicks[6]);
    assertEquals(69, minorTicks[7]);
    assertEquals(79, minorTicks[8]);
    assertEquals(89, minorTicks[9]);
    assertEquals(99, minorTicks[10]);
  }


  public void testTickMarksXInverted() {
    LinearXYAxis axis = new LinearXYAxis(XYDimension.X);
    axis.setSize(100, 10);
    axis.setStart(2);
    axis.setEnd(1);
    axis.doLayout();

    int[] majorTicks = axis.getMajorTicks();
    assertEquals(Arrays.toString(majorTicks), 3, majorTicks.length);
    assertEquals(99, majorTicks[0]);
    assertEquals(49, majorTicks[1]);
    assertEquals(-1, majorTicks[2]);

    Component[] components = axis.getComponents();
    assertEquals(Arrays.toString(components), 3, components.length);
    assertEquals("1", ((JLabel) components[0]).getText());
    assertEquals("1.5", ((JLabel) components[1]).getText());
    assertEquals("2", ((JLabel) components[2]).getText());

    int[] minorTicks = axis.getMinorTicks();
    assertEquals(11, minorTicks.length);
    assertEquals(99, minorTicks[0]);
    assertEquals(89, minorTicks[1]);
    assertEquals(79, minorTicks[2]);
    assertEquals(69, minorTicks[3]);
    assertEquals(59, minorTicks[4]);
    assertEquals(49, minorTicks[5]);
    assertEquals(39, minorTicks[6]);
    assertEquals(29, minorTicks[7]);
    assertEquals(19, minorTicks[8]);
    assertEquals(9, minorTicks[9]);
    assertEquals(-1, minorTicks[10]);

    axis.setSize(130, 10);
    axis.setStartMargin(10);
    axis.setEndMargin(20);
    axis.doLayout();

    majorTicks = axis.getMajorTicks();
    assertEquals(Arrays.toString(majorTicks), 3, majorTicks.length);
    assertEquals(99, majorTicks[0]);
    assertEquals(49, majorTicks[1]);
    assertEquals(-1, majorTicks[2]);

    minorTicks = axis.getMinorTicks();
    assertEquals(11, minorTicks.length);
    assertEquals(99, minorTicks[0]);
    assertEquals(89, minorTicks[1]);
    assertEquals(79, minorTicks[2]);
    assertEquals(69, minorTicks[3]);
    assertEquals(59, minorTicks[4]);
    assertEquals(49, minorTicks[5]);
    assertEquals(39, minorTicks[6]);
    assertEquals(29, minorTicks[7]);
    assertEquals(19, minorTicks[8]);
    assertEquals(9, minorTicks[9]);
    assertEquals(-1, minorTicks[10]);
  }


  public void testTickMarksY() {
    LinearXYAxis axis = new LinearXYAxis(XYDimension.Y);
    axis.setSize(10, 100);
    axis.setStart(1);
    axis.setEnd(2);
    axis.doLayout();

    int[] majorTicks = axis.getMajorTicks();
    assertEquals(Arrays.toString(majorTicks), 3, majorTicks.length);
    assertEquals(-1, majorTicks[0]);
    assertEquals(49, majorTicks[1]);
    assertEquals(99, majorTicks[2]);

    Component[] components = axis.getComponents();
    assertEquals(Arrays.toString(components), 3, components.length);
    assertEquals("1", ((JLabel) components[0]).getText());
    assertEquals("1.5", ((JLabel) components[1]).getText());
    assertEquals("2", ((JLabel) components[2]).getText());

    int[] minorTicks = axis.getMinorTicks();
    assertEquals(11, minorTicks.length);
    assertEquals(-1, minorTicks[0]);
    assertEquals(9, minorTicks[1]);
    assertEquals(19, minorTicks[2]);
    assertEquals(29, minorTicks[3]);
    assertEquals(39, minorTicks[4]);
    assertEquals(49, minorTicks[5]);
    assertEquals(59, minorTicks[6]);
    assertEquals(69, minorTicks[7]);
    assertEquals(79, minorTicks[8]);
    assertEquals(89, minorTicks[9]);
    assertEquals(99, minorTicks[10]);

    axis.setSize(10, 130);
    axis.setStartMargin(10);
    axis.setEndMargin(20);
    axis.doLayout();

    majorTicks = axis.getMajorTicks();
    assertEquals(Arrays.toString(majorTicks), 3, majorTicks.length);
    assertEquals(-1, majorTicks[0]);
    assertEquals(49, majorTicks[1]);
    assertEquals(99, majorTicks[2]);

    minorTicks = axis.getMinorTicks();
    assertEquals(11, minorTicks.length);
    assertEquals(-1, minorTicks[0]);
    assertEquals(9, minorTicks[1]);
    assertEquals(19, minorTicks[2]);
    assertEquals(29, minorTicks[3]);
    assertEquals(39, minorTicks[4]);
    assertEquals(49, minorTicks[5]);
    assertEquals(59, minorTicks[6]);
    assertEquals(69, minorTicks[7]);
    assertEquals(79, minorTicks[8]);
    assertEquals(89, minorTicks[9]);
    assertEquals(99, minorTicks[10]);

  }


  public void testTickMarksYInverted() {
    LinearXYAxis axis = new LinearXYAxis(XYDimension.Y);
    axis.setSize(10, 100);
    axis.setStart(2);
    axis.setEnd(1);
    axis.doLayout();

    int[] majorTicks = axis.getMajorTicks();
    assertEquals(Arrays.toString(majorTicks), 3, majorTicks.length);
    assertEquals(99, majorTicks[0]);
    assertEquals(49, majorTicks[1]);
    assertEquals(-1, majorTicks[2]);

    Component[] components = axis.getComponents();
    assertEquals(Arrays.toString(components), 3, components.length);
    assertEquals("1", ((JLabel) components[0]).getText());
    assertEquals("1.5", ((JLabel) components[1]).getText());
    assertEquals("2", ((JLabel) components[2]).getText());

    int[] minorTicks = axis.getMinorTicks();
    assertEquals(11, minorTicks.length);
    assertEquals(99, minorTicks[0]);
    assertEquals(89, minorTicks[1]);
    assertEquals(79, minorTicks[2]);
    assertEquals(69, minorTicks[3]);
    assertEquals(59, minorTicks[4]);
    assertEquals(49, minorTicks[5]);
    assertEquals(39, minorTicks[6]);
    assertEquals(29, minorTicks[7]);
    assertEquals(19, minorTicks[8]);
    assertEquals(9, minorTicks[9]);
    assertEquals(-1, minorTicks[10]);

    axis.setSize(10, 130);
    axis.setStartMargin(10);
    axis.setEndMargin(20);
    axis.doLayout();

    majorTicks = axis.getMajorTicks();
    assertEquals(Arrays.toString(majorTicks), 3, majorTicks.length);
    assertEquals(99, majorTicks[0]);
    assertEquals(49, majorTicks[1]);
    assertEquals(-1, majorTicks[2]);

    minorTicks = axis.getMinorTicks();
    assertEquals(11, minorTicks.length);
    assertEquals(99, minorTicks[0]);
    assertEquals(89, minorTicks[1]);
    assertEquals(79, minorTicks[2]);
    assertEquals(69, minorTicks[3]);
    assertEquals(59, minorTicks[4]);
    assertEquals(49, minorTicks[5]);
    assertEquals(39, minorTicks[6]);
    assertEquals(29, minorTicks[7]);
    assertEquals(19, minorTicks[8]);
    assertEquals(9, minorTicks[9]);
    assertEquals(-1, minorTicks[10]);
  }


  public void testShift() {
    LinearXYAxis axis = new LinearXYAxis(XYDimension.X);
    axis.setStart(1);
    axis.setEnd(2);
    axis.shift(5);
    assertEquals(6.0, axis.getStart());
    assertEquals(7.0, axis.getEnd());
  }


  public void testSetFont() {
    LinearXYAxis axis = new LinearXYAxis(XYDimension.X);
    JLabel label = new JLabel();
    axis.add(label);
    Font font = new Font("Helvetica", Font.ITALIC, 72);
    axis.setFont(font);
    assertSame(font, axis.getFont());
    assertSame(font, label.getFont());
  }


  public void testSetForeground() {
    LinearXYAxis axis = new LinearXYAxis(XYDimension.X);
    JLabel label = new JLabel();
    axis.add(label);
    Color foreground = Color.cyan;
    axis.setForeground(foreground);
    assertSame(foreground, axis.getForeground());
    assertSame(foreground, label.getForeground());
  }


  public void testProperties() throws InvocationTargetException, IllegalAccessException, IntrospectionException {
    PropertyTester p = new PropertyTester(new LinearXYAxis(XYDimension.X));
    p.test("textMargin", 0, 1);
    p.test("showLabels", true, false);
    p.test("minorTickLength", 0, 1);
    p.test("majorTickLength", 0, 1);
    p.test("tickMarkCalculator", new IntegerTickMarkCalculator());
    p.test("format", new DecimalFormat("0.00"));
  }
}
TOP

Related Classes of plotter.xy.JUnitLinearXYAxis

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.