### Question:
StandardCategoryURLGenerator implements CategoryURLGenerator,
        Cloneable, Serializable { @Override public boolean equals(Object obj) { if (obj == this) { return true; } if (!(obj instanceof StandardCategoryURLGenerator)) { return false; } StandardCategoryURLGenerator that = (StandardCategoryURLGenerator) obj; if (!ObjectUtilities.equal(this.prefix, that.prefix)) { return false; } if (!ObjectUtilities.equal(this.seriesParameterName, that.seriesParameterName)) { return false; } if (!ObjectUtilities.equal(this.categoryParameterName, that.categoryParameterName)) { return false; } return true; } StandardCategoryURLGenerator();  StandardCategoryURLGenerator(String prefix);  StandardCategoryURLGenerator(String prefix,
                                        String seriesParameterName,
                                        String categoryParameterName); @Override String generateURL(CategoryDataset dataset, int series,
                              int category); @Override Object clone(); @Override boolean equals(Object obj); @Override int hashCode();  }### Answer:
@Test public void testEquals() { StandardCategoryURLGenerator g1 = new StandardCategoryURLGenerator(); StandardCategoryURLGenerator g2 = new StandardCategoryURLGenerator(); assertEquals(g1, g2); g1 = new StandardCategoryURLGenerator("index2.html?"); assertFalse(g1.equals(g2)); g2 = new StandardCategoryURLGenerator("index2.html?"); assertEquals(g1, g2); g1 = new StandardCategoryURLGenerator("index2.html?", "A", "B"); assertFalse(g1.equals(g2)); g2 = new StandardCategoryURLGenerator("index2.html?", "A", "B"); assertEquals(g1, g2); g1 = new StandardCategoryURLGenerator("index2.html?", "A", "C"); assertFalse(g1.equals(g2)); g2 = new StandardCategoryURLGenerator("index2.html?", "A", "C"); assertEquals(g1, g2); }