tfischer 2004/12/27 11:52:48
Modified: src/rttest Tag: TORQUE_3_1_BRANCH bookstore-schema.xml
src/rttest/org/apache/torque Tag: TORQUE_3_1_BRANCH
DataTest.java
Log:
added a test case where the accuracy of date/time/timestamp values are
checked. For this, a new table was added to the bookstore schema.
Revision Changes Path
No revision
No revision
1.13.2.1 +29 -0 db-torque/src/rttest/bookstore-schema.xml
Index: bookstore-schema.xml
===================================================================
RCS file: /home/cvs/db-torque/src/rttest/bookstore-schema.xml,v
retrieving revision 1.13
retrieving revision 1.13.2.1
diff -u -r1.13 -r1.13.2.1
--- bookstore-schema.xml 3 Aug 2003 13:42:40 -0000 1.13
+++ bookstore-schema.xml 27 Dec 2004 19:52:47 -0000 1.13.2.1
@@ -245,5 +245,34 @@
<reference foreign="COL2" local="PARENT_COL2"/>
</foreign-key>
</table>
+
+ <!-- =================================================== -->
+ <!-- D A T E _ T E S T T A B L E -->
+ <!-- =================================================== -->
+
+ <table name="DATE_TEST" description="Table to test Date formats">
+ <column
+ name="DATE_TEST_ID"
+ required="true"
+ primaryKey="true"
+ type="INTEGER"
+ />
+ <column
+ name="DATE_VALUE"
+ required="true"
+ type="DATE"
+ />
+ <column
+ name="TIME_VALUE"
+ required="true"
+ type="TIME"
+ />
+ <column
+ name="TIMESTAMP_VALUE"
+ required="true"
+ type="TIMESTAMP"
+ />
+
+ </table>
</database>
No revision
No revision
1.8.2.6 +79 -1 db-torque/src/rttest/org/apache/torque/DataTest.java
Index: DataTest.java
===================================================================
RCS file: /home/cvs/db-torque/src/rttest/org/apache/torque/DataTest.java,v
retrieving revision 1.8.2.5
retrieving revision 1.8.2.6
diff -u -r1.8.2.5 -r1.8.2.6
--- DataTest.java 16 Dec 2004 08:04:36 -0000 1.8.2.5
+++ DataTest.java 27 Dec 2004 19:52:47 -0000 1.8.2.6
@@ -16,6 +16,9 @@
* limitations under the License.
*/
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -28,6 +31,8 @@
import org.apache.torque.test.BookPeer;
import org.apache.torque.test.BooleanCheck;
import org.apache.torque.test.BooleanCheckPeer;
+import org.apache.torque.test.DateTest;
+import org.apache.torque.test.DateTestPeer;
import org.apache.torque.test.MultiPk;
import org.apache.torque.test.MultiPkPeer;
import org.apache.torque.test.NullValueTable;
@@ -764,6 +769,79 @@
}
}
catch( Exception e)
+ {
+ e.printStackTrace();
+ fail("Exception caught : "
+ + e.getClass().getName()
+ + " : " + e.getMessage());
+ }
+ }
+
+ /**
+ * Tests the date, time and datetime accuracy.
+ * At the moment, no upper limit for the accuracy is checked,
+ * the differences are printed to stdout.
+ */
+ public void testDateTime()
+ {
+ try
+ {
+ // clean Date table
+ Criteria criteria = new Criteria();
+ criteria.add(
+ DateTestPeer.DATE_TEST_ID,
+ (Long) null,
+ Criteria.NOT_EQUAL);
+ DateTestPeer.doDelete(criteria);
+
+ // insert new DateTest object to db
+ DateTest dateTest = new DateTest();
+ Date now = new Date();
+ dateTest.setDateValue(now);
+ dateTest.setTimeValue(now);
+ dateTest.setTimestampValue(now);
+ dateTest.save();
+ DateFormat dateFormat = new SimpleDateFormat();
+ System.out.println(
+ "testDateTime() : set date to : "
+ + dateFormat.format(now));
+
+ // reload dateTest from db
+ DateTest loadedDateTest
+ = DateTestPeer.retrieveByPK(dateTest.getPrimaryKey());
+
+ System.out.println(
+ "testDateTime() : retrieved date : "
+ + dateFormat.format(loadedDateTest.getDateValue()));
+ System.out.println(
+ "testDateTime() : retrieved time : "
+ + dateFormat.format(loadedDateTest.getTimeValue()));
+ System.out.println(
+ "testDateTime() : retrieved timestamp : "
+ + dateFormat.format(loadedDateTest.getTimestampValue()));
+
+ // compute time differences between reloaded and original object
+ long dateDifference
+ = dateTest.getDateValue().getTime()
+ - loadedDateTest.getDateValue().getTime();
+ long timeDifference
+ = dateTest.getTimeValue().getTime()
+ - loadedDateTest.getTimeValue().getTime();
+ long timestampDifference
+ = dateTest.getTimestampValue().getTime()
+ - loadedDateTest.getTimestampValue().getTime();
+
+ System.out.println(
+ "testDateTime() : Date difference (ms): "
+ + dateDifference);
+ System.out.println(
+ "testDateTime() : Time difference (ms): "
+ + timeDifference);
+ System.out.println(
+ "testDateTime() : Timestamp difference (ms): "
+ + timestampDifference);
+ }
+ catch (Exception e)
{
e.printStackTrace();
fail("Exception caught : "
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]