recurdates 0.1.1

A library for calculating dates for recurring events.
Documentation
use super::ReDateTime;
use chrono::{Duration, Local, Datelike, TimeZone};
use chrono::naive::MAX_DATE;

#[test]
fn init() {
    let now = Local::now();
    let dt = ReDateTime::at(&now);

    assert_eq!(dt.at, now);
    assert_eq!(dt.repeat, Duration::zero());
    assert_eq!(dt.until, max_datetime!());
}

#[test]
fn simple_repeat() {
    let now = Local::now();
    let wkday = now.weekday();

    let dt = ReDateTime::repeat_until(now, Duration::weeks(1), now + Duration::days(98));

    let mut c = 0;
    for n in dt.iter() {
        assert_eq!(n.weekday(), wkday, "wanted {:?}, got {:?}", wkday, n.weekday());
        c += 1;
    }
    assert_eq!(c, 14);
}

#[test]
fn negative_repeat() {
    let now = Local::now();
    let wkday = now.weekday();

    let dt = ReDateTime::repeat_until(now, Duration::weeks(-1), now + Duration::days(-98));

    let mut c = 0;
    for n in dt.iter() {
        assert_eq!(n.weekday(), wkday, "wanted {:?}, got {:?}", wkday, n.weekday());
        c += 1;
    }
    assert_eq!(c, 14);
}