예제 #1
0
  /**
   * Check cloning of the legendItemShape field.
   *
   * @throws CloneNotSupportedException
   */
  @Test
  public void testCloning_LegendItemShape() throws CloneNotSupportedException {
    Rectangle shape = new Rectangle(-4, -4, 8, 8);
    PiePlot p1 = new PiePlot();
    p1.setLegendItemShape(shape);
    PiePlot p2 = (PiePlot) p1.clone();
    assertNotSame(p1, p2);
    assertSame(p1.getClass(), p2.getClass());
    assertEquals(p1, p2);

    // change the shape and make sure it only affects p1
    shape.setRect(1.0, 2.0, 3.0, 4.0);
    assertFalse(p1.equals(p2));
  }
예제 #2
0
  /** Test the equals() method. */
  @Test
  public void testEquals() {
    PiePlot plot1 = new PiePlot();
    PiePlot plot2 = new PiePlot();
    assertEquals(plot1, plot2);
    assertEquals(plot2, plot1);

    // pieIndex...
    plot1.setPieIndex(99);
    assertFalse(plot1.equals(plot2));
    plot2.setPieIndex(99);
    assertEquals(plot1, plot2);

    // interiorGap...
    plot1.setInteriorGap(0.15);
    assertFalse(plot1.equals(plot2));
    plot2.setInteriorGap(0.15);
    assertEquals(plot1, plot2);

    // circular
    plot1.setCircular(!plot1.isCircular());
    assertFalse(plot1.equals(plot2));
    plot2.setCircular(false);
    assertEquals(plot1, plot2);

    // startAngle
    plot1.setStartAngle(Math.PI);
    assertFalse(plot1.equals(plot2));
    plot2.setStartAngle(Math.PI);
    assertEquals(plot1, plot2);

    // direction
    plot1.setDirection(Rotation.ANTICLOCKWISE);
    assertFalse(plot1.equals(plot2));
    plot2.setDirection(Rotation.ANTICLOCKWISE);
    assertEquals(plot1, plot2);

    // ignoreZeroValues
    plot1.setIgnoreZeroValues(true);
    plot2.setIgnoreZeroValues(false);
    assertFalse(plot1.equals(plot2));
    plot2.setIgnoreZeroValues(true);
    assertEquals(plot1, plot2);

    // ignoreNullValues
    plot1.setIgnoreNullValues(true);
    plot2.setIgnoreNullValues(false);
    assertFalse(plot1.equals(plot2));
    plot2.setIgnoreNullValues(true);
    assertEquals(plot1, plot2);

    // sectionPaintMap
    plot1.setSectionPaint("A", new GradientPaint(1.0f, 2.0f, Color.BLUE, 3.0f, 4.0f, Color.WHITE));
    assertFalse(plot1.equals(plot2));
    plot2.setSectionPaint("A", new GradientPaint(1.0f, 2.0f, Color.BLUE, 3.0f, 4.0f, Color.WHITE));
    assertEquals(plot1, plot2);

    // baseSectionPaint
    plot1.setBaseSectionPaint(new GradientPaint(1.0f, 2.0f, Color.BLACK, 3.0f, 4.0f, Color.WHITE));
    assertFalse(plot1.equals(plot2));
    plot2.setBaseSectionPaint(new GradientPaint(1.0f, 2.0f, Color.BLACK, 3.0f, 4.0f, Color.WHITE));
    assertEquals(plot1, plot2);

    // sectionOutlinesVisible
    plot1.setSectionOutlinesVisible(false);
    assertFalse(plot1.equals(plot2));
    plot2.setSectionOutlinesVisible(false);
    assertEquals(plot1, plot2);

    // sectionOutlinePaintList
    plot1.setSectionOutlinePaint(
        "A", new GradientPaint(1.0f, 2.0f, Color.green, 3.0f, 4.0f, Color.WHITE));
    assertFalse(plot1.equals(plot2));
    plot2.setSectionOutlinePaint(
        "A", new GradientPaint(1.0f, 2.0f, Color.green, 3.0f, 4.0f, Color.WHITE));
    assertEquals(plot1, plot2);

    // baseSectionOutlinePaint
    plot1.setBaseSectionOutlinePaint(
        new GradientPaint(1.0f, 2.0f, Color.gray, 3.0f, 4.0f, Color.WHITE));
    assertFalse(plot1.equals(plot2));
    plot2.setBaseSectionOutlinePaint(
        new GradientPaint(1.0f, 2.0f, Color.gray, 3.0f, 4.0f, Color.WHITE));
    assertEquals(plot1, plot2);

    // sectionOutlineStrokeList
    plot1.setSectionOutlineStroke("A", new BasicStroke(1.0f));
    assertFalse(plot1.equals(plot2));
    plot2.setSectionOutlineStroke("A", new BasicStroke(1.0f));
    assertEquals(plot1, plot2);

    // baseSectionOutlineStroke
    plot1.setBaseSectionOutlineStroke(new BasicStroke(1.0f));
    assertFalse(plot1.equals(plot2));
    plot2.setBaseSectionOutlineStroke(new BasicStroke(1.0f));
    assertEquals(plot1, plot2);

    // shadowPaint
    plot1.setShadowPaint(new GradientPaint(1.0f, 2.0f, Color.orange, 3.0f, 4.0f, Color.WHITE));
    assertFalse(plot1.equals(plot2));
    plot2.setShadowPaint(new GradientPaint(1.0f, 2.0f, Color.orange, 3.0f, 4.0f, Color.WHITE));
    assertEquals(plot1, plot2);

    // shadowXOffset
    plot1.setShadowXOffset(4.4);
    assertFalse(plot1.equals(plot2));
    plot2.setShadowXOffset(4.4);
    assertEquals(plot1, plot2);

    // shadowYOffset
    plot1.setShadowYOffset(4.4);
    assertFalse(plot1.equals(plot2));
    plot2.setShadowYOffset(4.4);
    assertEquals(plot1, plot2);

    // labelFont
    plot1.setLabelFont(new Font("Serif", Font.PLAIN, 18));
    assertFalse(plot1.equals(plot2));
    plot2.setLabelFont(new Font("Serif", Font.PLAIN, 18));
    assertEquals(plot1, plot2);

    // labelPaint
    plot1.setLabelPaint(new GradientPaint(1.0f, 2.0f, Color.darkGray, 3.0f, 4.0f, Color.WHITE));
    assertFalse(plot1.equals(plot2));
    plot2.setLabelPaint(new GradientPaint(1.0f, 2.0f, Color.darkGray, 3.0f, 4.0f, Color.WHITE));
    assertEquals(plot1, plot2);

    // labelBackgroundPaint
    plot1.setLabelBackgroundPaint(
        new GradientPaint(1.0f, 2.0f, Color.RED, 3.0f, 4.0f, Color.WHITE));
    assertFalse(plot1.equals(plot2));
    plot2.setLabelBackgroundPaint(
        new GradientPaint(1.0f, 2.0f, Color.RED, 3.0f, 4.0f, Color.WHITE));
    assertEquals(plot1, plot2);

    // labelOutlinePaint
    plot1.setLabelOutlinePaint(new GradientPaint(1.0f, 2.0f, Color.BLUE, 3.0f, 4.0f, Color.WHITE));
    assertFalse(plot1.equals(plot2));
    plot2.setLabelOutlinePaint(new GradientPaint(1.0f, 2.0f, Color.BLUE, 3.0f, 4.0f, Color.WHITE));
    assertEquals(plot1, plot2);

    // labelOutlineStroke
    Stroke s = new BasicStroke(1.1f);
    plot1.setLabelOutlineStroke(s);
    assertFalse(plot1.equals(plot2));
    plot2.setLabelOutlineStroke(s);
    assertEquals(plot1, plot2);

    // labelShadowPaint
    plot1.setLabelShadowPaint(new GradientPaint(1.0f, 2.0f, Color.yellow, 3.0f, 4.0f, Color.WHITE));
    assertFalse(plot1.equals(plot2));
    plot2.setLabelShadowPaint(new GradientPaint(1.0f, 2.0f, Color.yellow, 3.0f, 4.0f, Color.WHITE));
    assertEquals(plot1, plot2);

    // explodePercentages
    plot1.setExplodePercent("A", 0.33);
    assertFalse(plot1.equals(plot2));
    plot2.setExplodePercent("A", 0.33);
    assertEquals(plot1, plot2);

    // labelGenerator
    plot1.setLabelGenerator(new StandardPieSectionLabelGenerator("{2}{1}{0}"));
    assertFalse(plot1.equals(plot2));
    plot2.setLabelGenerator(new StandardPieSectionLabelGenerator("{2}{1}{0}"));
    assertEquals(plot1, plot2);

    // labelFont
    Font f = new Font("SansSerif", Font.PLAIN, 20);
    plot1.setLabelFont(f);
    assertFalse(plot1.equals(plot2));
    plot2.setLabelFont(f);
    assertEquals(plot1, plot2);

    // labelPaint
    plot1.setLabelPaint(new GradientPaint(1.0f, 2.0f, Color.magenta, 3.0f, 4.0f, Color.WHITE));
    assertFalse(plot1.equals(plot2));
    plot2.setLabelPaint(new GradientPaint(1.0f, 2.0f, Color.magenta, 3.0f, 4.0f, Color.WHITE));
    assertEquals(plot1, plot2);

    // maximumLabelWidth
    plot1.setMaximumLabelWidth(0.33);
    assertFalse(plot1.equals(plot2));
    plot2.setMaximumLabelWidth(0.33);
    assertEquals(plot1, plot2);

    // labelGap
    plot1.setLabelGap(0.11);
    assertFalse(plot1.equals(plot2));
    plot2.setLabelGap(0.11);
    assertEquals(plot1, plot2);

    // links visible
    plot1.setLabelLinksVisible(false);
    assertFalse(plot1.equals(plot2));
    plot2.setLabelLinksVisible(false);
    assertEquals(plot1, plot2);

    plot1.setLabelLinkStyle(PieLabelLinkStyle.QUAD_CURVE);
    assertFalse(plot1.equals(plot2));
    plot2.setLabelLinkStyle(PieLabelLinkStyle.QUAD_CURVE);
    assertEquals(plot1, plot2);

    // linkMargin
    plot1.setLabelLinkMargin(0.11);
    assertFalse(plot1.equals(plot2));
    plot2.setLabelLinkMargin(0.11);
    assertEquals(plot1, plot2);

    // labelLinkPaint
    plot1.setLabelLinkPaint(new GradientPaint(1.0f, 2.0f, Color.magenta, 3.0f, 4.0f, Color.WHITE));
    assertFalse(plot1.equals(plot2));
    plot2.setLabelLinkPaint(new GradientPaint(1.0f, 2.0f, Color.magenta, 3.0f, 4.0f, Color.WHITE));
    assertEquals(plot1, plot2);

    // labelLinkStroke
    plot1.setLabelLinkStroke(new BasicStroke(1.0f));
    assertFalse(plot1.equals(plot2));
    plot2.setLabelLinkStroke(new BasicStroke(1.0f));
    assertEquals(plot1, plot2);

    // toolTipGenerator
    plot1.setToolTipGenerator(new StandardPieToolTipGenerator("{2}{1}{0}"));
    assertFalse(plot1.equals(plot2));
    plot2.setToolTipGenerator(new StandardPieToolTipGenerator("{2}{1}{0}"));
    assertEquals(plot1, plot2);

    // urlGenerator
    plot1.setURLGenerator(new StandardPieURLGenerator("xx"));
    assertFalse(plot1.equals(plot2));
    plot2.setURLGenerator(new StandardPieURLGenerator("xx"));
    assertEquals(plot1, plot2);

    // minimumArcAngleToDraw
    plot1.setMinimumArcAngleToDraw(1.0);
    assertFalse(plot1.equals(plot2));
    plot2.setMinimumArcAngleToDraw(1.0);
    assertEquals(plot1, plot2);

    // legendItemShape
    plot1.setLegendItemShape(new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0));
    assertFalse(plot1.equals(plot2));
    plot2.setLegendItemShape(new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0));
    assertEquals(plot1, plot2);

    // legendLabelGenerator
    plot1.setLegendLabelGenerator(new StandardPieSectionLabelGenerator("{0} --> {1}"));
    assertFalse(plot1.equals(plot2));
    plot2.setLegendLabelGenerator(new StandardPieSectionLabelGenerator("{0} --> {1}"));
    assertEquals(plot1, plot2);

    // legendLabelToolTipGenerator
    plot1.setLegendLabelToolTipGenerator(new StandardPieSectionLabelGenerator("{0} is {1}"));
    assertFalse(plot1.equals(plot2));
    plot2.setLegendLabelToolTipGenerator(new StandardPieSectionLabelGenerator("{0} is {1}"));
    assertEquals(plot1, plot2);

    // legendLabelURLGenerator
    plot1.setLegendLabelURLGenerator(new StandardPieURLGenerator("index.html"));
    assertFalse(plot1.equals(plot2));
    plot2.setLegendLabelURLGenerator(new StandardPieURLGenerator("index.html"));
    assertEquals(plot1, plot2);

    // autoPopulateSectionPaint
    plot1.setAutoPopulateSectionPaint(false);
    assertFalse(plot1.equals(plot2));
    plot2.setAutoPopulateSectionPaint(false);
    assertEquals(plot1, plot2);

    // autoPopulateSectionOutlinePaint
    plot1.setAutoPopulateSectionOutlinePaint(true);
    assertFalse(plot1.equals(plot2));
    plot2.setAutoPopulateSectionOutlinePaint(true);
    assertEquals(plot1, plot2);

    // autoPopulateSectionOutlineStroke
    plot1.setAutoPopulateSectionOutlineStroke(true);
    assertFalse(plot1.equals(plot2));
    plot2.setAutoPopulateSectionOutlineStroke(true);
    assertEquals(plot1, plot2);

    // shadowGenerator
    plot1.setShadowGenerator(new DefaultShadowGenerator(5, Color.gray, 0.6f, 4, -Math.PI / 4));
    assertFalse(plot1.equals(plot2));
    plot2.setShadowGenerator(new DefaultShadowGenerator(5, Color.gray, 0.6f, 4, -Math.PI / 4));
    assertEquals(plot1, plot2);

    plot1.setShadowGenerator(null);
    assertFalse(plot1.equals(plot2));
    plot2.setShadowGenerator(null);
    assertEquals(plot1, plot2);
  }