/** Confirm that cloning works. */ public void testCloning() { // test default instance DialBackground b1 = new DialBackground(); DialBackground b2 = null; try { b2 = (DialBackground) b1.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } assertTrue(b1 != b2); assertTrue(b1.getClass() == b2.getClass()); assertTrue(b1.equals(b2)); // test a customised instance b1 = new DialBackground(); b1.setPaint(new GradientPaint(1.0f, 2.0f, Color.red, 3.0f, 4.0f, Color.green)); b1.setGradientPaintTransformer( new StandardGradientPaintTransformer(GradientPaintTransformType.CENTER_VERTICAL)); b2 = null; try { b2 = (DialBackground) b1.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } assertTrue(b1 != b2); assertTrue(b1.getClass() == b2.getClass()); assertTrue(b1.equals(b2)); // check that the listener lists are independent MyDialLayerChangeListener l1 = new MyDialLayerChangeListener(); b1.addChangeListener(l1); assertTrue(b1.hasListener(l1)); assertFalse(b2.hasListener(l1)); }