@@ -288,7 +288,7 @@ impl DateStr for DateTime {
288
288
*/
289
289
#[ cfg( test) ]
290
290
mod tests {
291
- use std:: os ;
291
+ use std:: { os , fmt } ;
292
292
use extra:: time:: { Timespec , strptime} ;
293
293
use extra:: test;
294
294
@@ -310,52 +310,50 @@ mod tests {
310
310
311
311
}
312
312
313
- fn test_time ( i : i64 ) {
314
- let atime = @i as @:: Time ;
315
- error ! ( "{}, {}" , i, time_str( i) ) ;
316
- let tm = ( atime) . tm ( ) ;
317
- let i2: i64 = :: Time :: from_tm ( & tm) ;
313
+ fn test_time < T : Eq + fmt:: Default + Clone + :: Time > ( i : T ) {
314
+ error ! ( "{}, {}" , i, time_str( i. clone( ) ) ) ;
315
+ let tm = i. tm ( ) ;
316
+ let i2: T = :: Time :: from_tm ( & tm) ;
318
317
if i2 != i {
319
318
fail ! ( format!( "test_time failed for: {}, {}, {:?}" , i, i2, tm) )
320
319
}
321
- let ts = ( @i as @ :: Time ) . timespec ( ) ;
322
- let i2: i64 = :: Time :: from_timespec ( ts) ;
320
+ let ts = i . timespec ( ) ;
321
+ let i2: T = :: Time :: from_timespec ( ts) ;
323
322
if i2 != i {
324
323
fail ! ( format!( "test_time failed for: {}, {}, {:?}" , i, i2, ts) )
325
324
}
326
325
}
327
326
328
327
#[ test]
329
328
fn test_some_times ( ) {
330
- test_time ( 0 ) ;
331
- test_time ( 1 ) ;
332
- test_time ( -1 ) ;
333
- test_time ( 86399999999998 ) ;
334
- test_time ( 86399999999999 ) ;
335
- test_time ( -86399999999999 ) ;
336
- }
337
-
338
- fn test_date ( i : i32 ) {
339
- let adate = @i as @:: Date ;
340
- error ! ( "{} {}" , i, date_str( i) ) ;
341
- let tm = ( adate) . tm ( ) ;
342
- let i2: i32 = :: Date :: from_tm ( & tm) ;
329
+ test_time ( 0_i64 ) ;
330
+ test_time ( 1_i64 ) ;
331
+ test_time ( -1_i64 ) ;
332
+ test_time ( 86399999999998_i64 ) ;
333
+ test_time ( 86399999999999_i64 ) ;
334
+ test_time ( -86399999999999_i64 ) ;
335
+ }
336
+
337
+ fn test_date < T : Eq + fmt:: Default + Clone + :: Date > ( i : T ) {
338
+ error ! ( "{} {}" , i, date_str( i. clone( ) ) ) ;
339
+ let tm = i. tm ( ) ;
340
+ let i2: T = :: Date :: from_tm ( & tm) ;
343
341
if i2 != i {
344
342
fail ! ( format!( "test_date failed for: {}, {}, {:?}" , i, i2, tm) )
345
343
}
346
- let ts = ( @i as @ :: Date ) . timespec ( ) ;
347
- let i2: i32 = :: Date :: from_timespec ( ts) ;
344
+ let ts = i . timespec ( ) ;
345
+ let i2: T = :: Date :: from_timespec ( ts) ;
348
346
if i2 != i {
349
347
fail ! ( format!( "test_date failed for: {}, {}, {:?}" , i, i2, ts) )
350
348
}
351
349
}
352
350
353
351
#[ test]
354
352
fn test_some_dates ( ) {
355
- test_date ( 0 ) ;
356
- test_date ( 1 ) ;
357
- test_date ( 2147483646 ) ;
358
- test_date ( 2147483647 ) ;
353
+ test_date ( 0_i32 ) ;
354
+ test_date ( 1_i32 ) ;
355
+ test_date ( 2147483646_i32 ) ;
356
+ test_date ( 2147483647_i32 ) ;
359
357
}
360
358
361
359
fn timespec_from_str ( ds : & str ) -> Result < Timespec , ~str > {
0 commit comments