miniclap 0.1.1

a no-dependency command line parser
Documentation
use miniclap::{App, Arg, ArgKind};

fn app() -> App {
    App::new("test").arg(Arg::new("verbose", 'v', ArgKind::Count))
}

#[test]
fn count_absent_is_zero() {
    let m = app().parse_args(&[]);

    assert_eq!(m.count("verbose"), 0);
}

#[test]
fn count_long_once() {
    let m = app().parse_args(&["--verbose"]);

    assert_eq!(m.count("verbose"), 1);
}

#[test]
fn count_long_twice() {
    let m = app().parse_args(&["--verbose", "--verbose"]);

    assert_eq!(m.count("verbose"), 2);
}

#[test]
fn count_short_once() {
    let m = app().parse_args(&["-v"]);

    assert_eq!(m.count("verbose"), 1);
}

#[test]
fn count_short_stacked() {
    let m = app().parse_args(&["-vvv"]);

    assert_eq!(m.count("verbose"), 3);
}

#[test]
fn count_mixed() {
    let m = app().parse_args(&["-vv", "--verbose"]);

    assert_eq!(m.count("verbose"), 3);
}

#[test]
fn unknown_count_is_zero() {
    let m = app().parse_args(&[]);

    assert_eq!(m.count("nonexistent"), 0);
}