ptime 0.1.1

The implementation of the Persian (Solar Hijri) Calendar
Documentation
extern crate ptime;
extern crate time;

#[test]
fn leap_years() {
    let leap_years = [1325, 1329, 1333, 1337, 1370, 1375, 1379, 1383, 1387, 1391, 1395, 1399];
    let mut tm = ptime::empty_tm();
    for year in leap_years.iter() {
        tm.tm_year = *year;
        assert_eq!(tm.is_leap(), true);
    }
}

#[test]
fn non_leap_years() {
    let non_leap_years = [1324, 1330, 1332, 1335, 1371, 1374, 1380, 1381, 1386, 1390, 1394, 1400];
    let mut tm = ptime::empty_tm();
    for year in non_leap_years.iter() {
        tm.tm_year = *year;
        assert_eq!(tm.is_leap(), false);
    }
}

#[test]
fn operators() {
    let p_tm1 = ptime::from_persian_date(1395, 0, 1).unwrap();
    let p_tm2 = ptime::from_gregorian_date(2016, 2, 21).unwrap();
    assert_eq!(p_tm2 - p_tm1, time::Duration::seconds(24 * 3600));
    assert_eq!(p_tm2 > p_tm1, true);
    assert_eq!(p_tm2 < p_tm1, false);
    assert_eq!(p_tm2 == p_tm1, false);
}

#[test]
fn format() {
    let p_tm = ptime::from_gregorian_date(2016, 2, 21).unwrap();
    assert_eq!(format!("{}", p_tm), "1395-01-02T00:00:00.0");
}