deschuler 0.4.1

An async, tokio based scheduling library for rust with a built-in cron builder.
Documentation
use deschuler::cron_builder::utils::{every, last};
use deschuler::cron_builder::CronBuilder;

mod complex;
mod special_cases;

#[test]
fn default() {
    let cron_builder = get_cron_builder();
    let cron = cron_builder.build().unwrap();

    let actual = cron.pattern.to_string();
    let expected = "* * * * * *";

    assert_eq!(actual, expected);
}

#[test]
fn every_4_minutes() {
    let mut cron_builder = get_cron_builder();
    cron_builder.minute(every("4"));
    let cron = cron_builder.build().unwrap();

    let actual = cron.pattern.to_string();
    let expected = "* */4 * * * *";

    assert_eq!(actual, expected);
}

#[test]
fn every_3_days() {
    let mut cron_builder = get_cron_builder();
    cron_builder.day_of_week(every("2"));
    let cron = cron_builder.build().unwrap();

    let actual = cron.pattern.to_string();
    let expected = "* * * * * */2";

    assert_eq!(actual, expected);
}

#[test]
fn every_last_friday_of_the_month() {
    let mut cron_builder = get_cron_builder();
    cron_builder.day_of_week(last("5"));
    let cron = cron_builder.build().unwrap();

    let actual = cron.pattern.to_string();
    let expected = "* * * * * 5l";

    assert_eq!(actual, expected);
}

fn get_cron_builder() -> CronBuilder {
    CronBuilder::default()
}