#[macro_use]
extern crate gong;
#[allow(unused_macros)]
#[allow(dead_code)] #[macro_use]
mod common;
use gong::options::*;
use common::get_base;
#[test]
fn check_constants() {
let test = gong_option_set!(vec![], vec![], common::MODE_DEFAULT, common::ABBR_SUP_DEFAULT);
let cmp: OptionSetEx = Default::default();
assert_eq!(test, cmp);
}
mod base_set {
use super::*;
#[test]
fn is_valid() {
let opts = get_base();
assert!(opts.is_valid());
assert_eq!(opts.validate(), Ok(()));
}
#[test]
#[should_panic]
fn can_break() {
let mut opts = get_base().to_extendible();
opts.add_long("foo"); assert!(opts.is_valid());
assert_eq!(opts.validate(), Ok(()));
}
#[test]
fn is_valid_altmode() {
let mut opts = get_base().clone();
opts.set_mode(OptionsMode::Alternate);
assert!(opts.is_valid());
assert_eq!(opts.validate(), Ok(()));
}
}