/**
   * A check for the datasetIndex and seriesIndex fields in the LegendItem returned by the
   * getLegendItem() method.
   */
  public void testGetLegendItemSeriesIndex() {
    XYSeriesCollection d1 = new XYSeriesCollection();
    XYSeries s1 = new XYSeries("S1");
    s1.add(1.0, 1.1);
    XYSeries s2 = new XYSeries("S2");
    s2.add(1.0, 1.1);
    d1.addSeries(s1);
    d1.addSeries(s2);

    XYSeriesCollection d2 = new XYSeriesCollection();
    XYSeries s3 = new XYSeries("S3");
    s3.add(1.0, 1.1);
    XYSeries s4 = new XYSeries("S4");
    s4.add(1.0, 1.1);
    XYSeries s5 = new XYSeries("S5");
    s5.add(1.0, 1.1);
    d2.addSeries(s3);
    d2.addSeries(s4);
    d2.addSeries(s5);

    XYDotRenderer r = new XYDotRenderer();
    XYPlot plot = new XYPlot(d1, new NumberAxis("x"), new NumberAxis("y"), r);
    plot.setDataset(1, d2);
    /*JFreeChart chart =*/ new JFreeChart(plot);
    LegendItem li = r.getLegendItem(1, 2);
    assertEquals("S5", li.getLabel());
    assertEquals(1, li.getDatasetIndex());
    assertEquals(2, li.getSeriesIndex());
  }
  /** Two objects that are equal are required to return the same hashCode. */
  public void testHashcode() {
    XYDotRenderer r1 = new XYDotRenderer();
    XYDotRenderer r2 = new XYDotRenderer();
    assertTrue(r1.equals(r2));
    int h1 = r1.hashCode();
    int h2 = r2.hashCode();
    assertEquals(h1, h2);

    r1.setDotHeight(12);
    r2.setDotHeight(12);
    assertTrue(r1.equals(r2));
    h1 = r1.hashCode();
    h2 = r2.hashCode();
    assertEquals(h1, h2);
  }
 /** Confirm that cloning works. */
 public void testCloning() {
   XYDotRenderer r1 = new XYDotRenderer();
   XYDotRenderer r2 = null;
   try {
     r2 = (XYDotRenderer) r1.clone();
   } catch (CloneNotSupportedException e) {
     e.printStackTrace();
   }
   assertTrue(r1 != r2);
   assertTrue(r1.getClass() == r2.getClass());
   assertTrue(r1.equals(r2));
 }
  /** Check that the equals() method distinguishes all fields. */
  public void testEquals() {
    XYDotRenderer r1 = new XYDotRenderer();
    XYDotRenderer r2 = new XYDotRenderer();
    assertEquals(r1, r2);

    r1.setDotWidth(11);
    assertFalse(r1.equals(r2));
    r2.setDotWidth(11);
    assertTrue(r1.equals(r2));

    r1.setDotHeight(12);
    assertFalse(r1.equals(r2));
    r2.setDotHeight(12);
    assertTrue(r1.equals(r2));

    r1.setLegendShape(new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0));
    assertFalse(r1.equals(r2));
    r2.setLegendShape(new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0));
    assertTrue(r1.equals(r2));
  }