1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
extern crate datetime;
pub use datetime::ISO;
pub use std::string::ToString;
mod datetimes {
use super::*;
use datetime::{LocalDate, LocalTime, LocalDateTime, Month};
#[test]
fn recently() {
let date = LocalDate::ymd(1600, Month::February, 28).unwrap();
let debugged = date.iso().to_string();
assert_eq!(debugged, "1600-02-28");
}
#[test]
fn just_then() {
let date = LocalDate::ymd(-753, Month::December, 1).unwrap();
let debugged = date.iso().to_string();
assert_eq!(debugged, "-0753-12-01");
}
#[test]
fn far_far_future() {
let date = LocalDate::ymd(10601, Month::January, 31).unwrap();
let debugged = date.iso().to_string();
assert_eq!(debugged, "+10601-01-31");
}
#[test]
fn midday() {
let time = LocalTime::hms(12, 0, 0).unwrap();
let debugged = time.iso().to_string();
assert_eq!(debugged, "12:00:00.000");
}
#[test]
fn ascending() {
let then = LocalDateTime::new(
LocalDate::ymd(2009, Month::February, 13).unwrap(),
LocalTime::hms(23, 31, 30).unwrap());
let debugged = then.iso().to_string();
assert_eq!(debugged, "2009-02-13T23:31:30.000");
}
}
mod offsets {
use super::*;
use datetime::Offset;
#[test]
fn zulu() {
let offset = Offset::utc();
let debugged = offset.iso().to_string();
assert_eq!(debugged, "Z");
}
#[test]
fn hours() {
let offset = Offset::of_hours_and_minutes(1, 0).unwrap();
let debugged = offset.iso().to_string();
assert_eq!(debugged, "+01");
}
#[test]
fn hours_minutes() {
let offset = Offset::of_hours_and_minutes(1, 30).unwrap();
let debugged = offset.iso().to_string();
assert_eq!(debugged, "+01:30");
}
#[test]
fn dublin_mean_time() {
let offset = Offset::of_seconds(-25 * 60 - 21).unwrap();
let debugged = offset.iso().to_string();
assert_eq!(debugged, "-00:25:21");
}
#[test]
fn offset_date_time() {
use datetime::{LocalDate, LocalTime, LocalDateTime, Month};
let offset = Offset::of_seconds(25 * 60 + 21).unwrap();
let then = LocalDateTime::new(
LocalDate::ymd(2009, Month::February, 13).unwrap(),
LocalTime::hms(23, 31, 30).unwrap());
let debugged = offset.transform_date(then).iso().to_string();
assert_eq!(debugged, "2009-02-13T23:31:30.000+00:25:21");
}
}
|