From: David G. <mu...@us...> - 2006-10-03 15:16:41
|
Update of /cvsroot/jfreechart/jfreechart/source/org/jfree/data/time/junit In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv26155/source/org/jfree/data/time/junit Modified Files: Tag: STABLE_1-0-0 TimePeriodValuesTests.java Log Message: 2006-10-03 David Gilbert <dav...@ob...> * source/org/jfree/data/time/TimePeriodValue.java (TimePeriodValue(TimePeriod, Number)): Added null argument check, (clone): Print stack trace in event of exception, * source/org/jfree/data/time/TimePeriodValues.java (add(TimePeriodValue)): Fire series change event, (equals): Guard against null pointer exceptions, * source/org/jfree/data/time/TimePeriodValuesCollection.java (getDomainIsPointsInTime): Deprecated, (setDomainIsPointsInTime): Likewise, * source/org/jfree/data/time/junit/TimePeriodValuesCollectionTests.java: (testEquals): Check for domain and range description fields, (testAdd): New method, (MySeriesChangeListener): New test support class. Index: TimePeriodValuesTests.java =================================================================== RCS file: /cvsroot/jfreechart/jfreechart/source/org/jfree/data/time/junit/TimePeriodValuesTests.java,v retrieving revision 1.6.2.1 retrieving revision 1.6.2.2 diff -C2 -d -r1.6.2.1 -r1.6.2.2 *** TimePeriodValuesTests.java 25 Oct 2005 21:35:47 -0000 1.6.2.1 --- TimePeriodValuesTests.java 3 Oct 2006 15:16:33 -0000 1.6.2.2 *************** *** 3,7 **** * =========================================================== * ! * (C) Copyright 2000-2005, by Object Refinery Limited and Contributors. * * Project Info: http://www.jfree.org/jfreechart/index.html --- 3,7 ---- * =========================================================== * ! * (C) Copyright 2000-2006, by Object Refinery Limited and Contributors. * * Project Info: http://www.jfree.org/jfreechart/index.html *************** *** 28,32 **** * TimePeriodValueTests.java * ------------------------- ! * (C) Copyright 2003-2005, by Object Refinery Limited. * * Original Author: David Gilbert (for Object Refinery Limited); --- 28,32 ---- * TimePeriodValueTests.java * ------------------------- ! * (C) Copyright 2003-2006, by Object Refinery Limited. * * Original Author: David Gilbert (for Object Refinery Limited); *************** *** 49,52 **** --- 49,53 ---- import java.io.ObjectOutput; import java.io.ObjectOutputStream; + import java.util.Date; import junit.framework.Test; *************** *** 54,60 **** --- 55,65 ---- import junit.framework.TestSuite; + import org.jfree.data.general.SeriesChangeEvent; + import org.jfree.data.general.SeriesChangeListener; import org.jfree.data.general.SeriesException; import org.jfree.data.time.Day; import org.jfree.data.time.RegularTimePeriod; + import org.jfree.data.time.SimpleTimePeriod; + import org.jfree.data.time.TimePeriodValue; import org.jfree.data.time.TimePeriodValues; import org.jfree.data.time.Year; *************** *** 212,222 **** ObjectInput in = new ObjectInputStream( ! new ByteArrayInputStream(buffer.toByteArray()) ! ); s2 = (TimePeriodValues) in.readObject(); in.close(); } catch (Exception e) { ! System.out.println(e.toString()); } assertTrue(s1.equals(s2)); --- 217,226 ---- ObjectInput in = new ObjectInputStream( ! new ByteArrayInputStream(buffer.toByteArray())); s2 = (TimePeriodValues) in.readObject(); in.close(); } catch (Exception e) { ! e.printStackTrace(); } assertTrue(s1.equals(s2)); *************** *** 237,240 **** --- 241,268 ---- assertTrue("b2", b2); + // domain description + s1.setDomainDescription("XYZ"); + assertFalse(s1.equals(s2)); + s2.setDomainDescription("XYZ"); + assertTrue(s1.equals(s2)); + + // domain description - null + s1.setDomainDescription(null); + assertFalse(s1.equals(s2)); + s2.setDomainDescription(null); + assertTrue(s1.equals(s2)); + + // range description + s1.setRangeDescription("XYZ"); + assertFalse(s1.equals(s2)); + s2.setRangeDescription("XYZ"); + assertTrue(s1.equals(s2)); + + // range description - null + s1.setRangeDescription(null); + assertFalse(s1.equals(s2)); + s2.setRangeDescription(null); + assertTrue(s1.equals(s2)); + RegularTimePeriod p1 = new Day(); RegularTimePeriod p2 = p1.next(); *************** *** 265,268 **** --- 293,361 ---- assertEquals(1, tpv.getItemCount()); } + + static final double EPSILON = 0.0000000001; + + /** + * Some checks for the add() methods. + */ + public void testAdd() { + TimePeriodValues tpv = new TimePeriodValues("Test"); + MySeriesChangeListener listener = new MySeriesChangeListener(); + tpv.addChangeListener(listener); + tpv.add(new TimePeriodValue(new SimpleTimePeriod(new Date(1L), + new Date(3L)), 99.0)); + assertEquals(99.0, tpv.getValue(0).doubleValue(), EPSILON); + assertEquals(tpv, listener.getLastEvent().getSource()); + + // a null item should throw an IllegalArgumentException + boolean pass = false; + try { + tpv.add((TimePeriodValue) null); + } + catch (IllegalArgumentException e) { + pass = true; + } + assertTrue(pass); + } + + /** + * A listener used for detecting series change events. + */ + static class MySeriesChangeListener implements SeriesChangeListener { + + SeriesChangeEvent lastEvent; + + /** + * Creates a new listener. + */ + public MySeriesChangeListener() { + lastEvent = null; + } + + /** + * Returns the last event. + * + * @return The last event (possibly <code>null</code>). + */ + public SeriesChangeEvent getLastEvent() { + return this.lastEvent; + } + + /** + * Clears the last event (sets it to <code>null</code>). + */ + public void clearLastEvent() { + this.lastEvent = null; + } + + /** + * Callback method for series change events. + * + * @param event the event. + */ + public void seriesChanged(SeriesChangeEvent event) { + lastEvent = event; + } + } } \ No newline at end of file |