/** Confirm that the equals method can distinguish all the required fields. */ public void testEquals() { QuarterDateFormat qf1 = new QuarterDateFormat(TimeZone.getTimeZone("GMT"), new String[] {"1", "2", "3", "4"}); QuarterDateFormat qf2 = new QuarterDateFormat(TimeZone.getTimeZone("GMT"), new String[] {"1", "2", "3", "4"}); assertTrue(qf1.equals(qf2)); assertTrue(qf2.equals(qf1)); qf1 = new QuarterDateFormat(TimeZone.getTimeZone("PST"), new String[] {"1", "2", "3", "4"}); assertFalse(qf1.equals(qf2)); qf2 = new QuarterDateFormat(TimeZone.getTimeZone("PST"), new String[] {"1", "2", "3", "4"}); assertTrue(qf1.equals(qf2)); qf1 = new QuarterDateFormat(TimeZone.getTimeZone("PST"), new String[] {"A", "2", "3", "4"}); assertFalse(qf1.equals(qf2)); qf2 = new QuarterDateFormat(TimeZone.getTimeZone("PST"), new String[] {"A", "2", "3", "4"}); assertTrue(qf1.equals(qf2)); qf1 = new QuarterDateFormat(TimeZone.getTimeZone("PST"), new String[] {"A", "2", "3", "4"}, true); assertFalse(qf1.equals(qf2)); qf2 = new QuarterDateFormat(TimeZone.getTimeZone("PST"), new String[] {"A", "2", "3", "4"}, true); assertTrue(qf1.equals(qf2)); }
/** Two objects that are equal are required to return the same hashCode. */ public void testHashCode() { QuarterDateFormat qf1 = new QuarterDateFormat(TimeZone.getTimeZone("GMT"), new String[] {"1", "2", "3", "4"}); QuarterDateFormat qf2 = new QuarterDateFormat(TimeZone.getTimeZone("GMT"), new String[] {"1", "2", "3", "4"}); assertTrue(qf1.equals(qf2)); int h1 = qf1.hashCode(); int h2 = qf2.hashCode(); assertEquals(h1, h2); }
/** Serialize an instance, restore it, and check for equality. */ public void testSerialization() { QuarterDateFormat qf1 = new QuarterDateFormat(TimeZone.getTimeZone("GMT"), new String[] {"1", "2", "3", "4"}); QuarterDateFormat qf2 = null; try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(qf1); out.close(); ObjectInput in = new ObjectInputStream(new ByteArrayInputStream(buffer.toByteArray())); qf2 = (QuarterDateFormat) in.readObject(); in.close(); } catch (Exception e) { fail(e.toString()); } assertTrue(qf1.equals(qf2)); }
/** Confirm that cloning works. */ public void testCloning() { QuarterDateFormat qf1 = new QuarterDateFormat(TimeZone.getTimeZone("GMT"), new String[] {"1", "2", "3", "4"}); QuarterDateFormat qf2 = null; qf2 = (QuarterDateFormat) qf1.clone(); assertTrue(qf1 != qf2); assertTrue(qf1.getClass() == qf2.getClass()); assertTrue(qf1.equals(qf2)); }